将PHP默认编码设置为UTF-8

2022-07-23 00:00:00 unicode encoding character-encoding php

在PHP Cookbook";中,他们说(第589页)要将传出数据的字符编码正确设置为UTF-8,必须将配置编辑为utf-8。

但是,我在php.ini文件中找不到此配置。我是否应该简单地添加一行内容:default_encoding = "utf-8"

我有一个;default_charset=";iso-8859-1";。如您所见(;),它目前未被激活。我是否应该删除分号并将其设置为"utf-8"?这是否支持默认编码?

我还发现了其他我不知道该怎么办的编码指令:

[iconv]
;iconv.input_encoding = ISO-8859-1
;iconv.internal_encoding = ISO-8859-1
;iconv.output_encoding = ISO-8859-1
...
; http://php.net/exif.encode-unicode
;exif.encode_unicode = ISO-8859-15
...
;mssql.charset = "ISO-8859-1"
...
;exif.encode_unicode = ISO-8859-15

有什么理由不能简单地将它们全部替换为utf-8


解决方案

您应该将default_charset设置为Utf-8:

default_charset = "utf-8"

(PHP Cookbook如果他们要求您更改default_encoding-我从未听说过default_encoding,它可能有一个拼写错误。)

如果要输出UTF-8编码的字符,您还需要确保您的Web服务器设置为输出UTF-8。在Apache中,这可以在HTTPD.conf文件中设置:

AddDefaultCharset UTF-8

至于修改iconvexifmssql编码设置,您可能不需要设置这些设置(您的设置已将它们注释掉),但无论如何,最好将它们全部更改为UTF-8。

相关文章