为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
MMMHUHU 2019-10-11 14:16:33
他们在“ 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?
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

您应该将其设置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,无论如何是个好主意。


查看完整回答
反对 回复 2019-10-11
?
12345678_0001

TA贡献1802条经验 获得超5个赞

修改线


;default_charset = "iso-8859-1"

读书


default_charset = "utf-8"

关于其他选项,请勿触摸它们。避免使用默认设置,请始终在所有操作中明确设置编码


数据库连接,

读写文件,

用iconv转换。

另外,请注意PHP文件的保存编码,请确保它们位于UTF-8中,尤其是当它们包含要显示或比较的字符串时。


查看完整回答
反对 回复 2019-10-11
?
守着一只汪

TA贡献1872条经验 获得超3个赞

我在mysql查询中遇到一个问题,它无法识别某些拉丁语提示,因此该查询将失败。我以为可能是php文件等等,直到我发现使用pdo调用mysql之前我必须添加字符集。奇怪的是,我以前使用的服务器工作正常!


$dsn = 'mysql:host=localhost;dbname=retirodo_main;charset=utf8';

- - - - - - - - - - - - - - - - - - - - - - - - - ^^^^^^^^^^^^


查看完整回答
反对 回复 2019-10-11
  • 3 回答
  • 0 关注
  • 771 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信