他们在“ PHP Cookbook”中说(第589页),要将传出数据的char编码正确设置为utf-8,必须将default_encoding配置编辑为utf-8。
default_encoding
但是,我在中找不到此配置php.ini。我是否应该简单地添加一行内容default_encoding = "utf-8"?
php.ini
default_encoding = "utf-8"
我有一个;default_charset = "iso-8859-1"。如您所见(;),目前尚未激活。我应该删除分号并将其设置为"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?
utf-8
您应该将其设置default_charset为UTF-8:
default_charset
default_charset = "utf-8"
(如果PHP Cookbook要求您更改default_encoding-我从未听说过,则可能会有错字。)
如果要输出UTF-8编码的字符,您还需要确保将Web服务器设置为输出UTF-8。在Apache中,可以在httpd.conf文件中进行设置:
AddDefaultCharset UTF-8
至于修改 iconv,exif和 mssql编码的设置,你可能并不需要这些设置(设置有这些注释无论如何),但它是一个好主意,他们都更改为UTF-8进不去。
iconv
exif
mssql