猿问

将PHP默认编码设置为utf-8?

他们在“ PHP Cookbook”中说(第589页),要将传出数据的char编码正确设置为utf-8,必须将default_encoding配置编辑为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?


MMMHUHU
浏览 772回答 3
3回答

莫回无

您应该将其设置default_charset为UTF-8:default_charset = "utf-8"(如果PHP Cookbook要求您更改default_encoding-我从未听说过,则可能会有错字。)如果要输出UTF-8编码的字符,您还需要确保将Web服务器设置为输出UTF-8。在Apache中,可以在httpd.conf文件中进行设置:AddDefaultCharset UTF-8至于修改  iconv,exif和  mssql编码设置,你可能并不需要这些设置(设置有这些注释无论如何),但它是他们全部更改为UTF-8,无论如何是个好主意。

12345678_0001

修改线;default_charset = "iso-8859-1"读书default_charset = "utf-8"关于其他选项,请勿触摸它们。避免使用默认设置,请始终在所有操作中明确设置编码数据库连接,读写文件,用iconv转换。另外,请注意PHP文件的保存编码,请确保它们位于UTF-8中,尤其是当它们包含要显示或比较的字符串时。

守着一只汪

我在mysql查询中遇到一个问题,它无法识别某些拉丁语提示,因此该查询将失败。我以为可能是php文件等等,直到我发现使用pdo调用mysql之前我必须添加字符集。奇怪的是,我以前使用的服务器工作正常!$dsn = 'mysql:host=localhost;dbname=retirodo_main;charset=utf8';- - - - - - - - - - - - - - - - - - - - - - - - - ^^^^^^^^^^^^
随时随地看视频慕课网APP
我要回答