问题描述:
网站访问时,并不能正常显示汉字,而是很多问号,如下图

这种问题一看就是字符集不对。 在IE浏览器下打开此站点,然后点击右键,把字符集修改为gbk,则显示正常,这样肯定是不行的,总不能让所有用户自己去设置浏览器吧。 所以还得从服务端去入手。
先curl测试:
HTTP/1.1 200 OK
Server: nginxDate: Wed, 19 Jul 2017 08:32:56 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-aliveVary: Accept-Encoding
X-Powered-By: PHP/5.6.30
发现charset为UTF-8,只要把它修改为gbk即可。 所以修改虚拟主机配置文件,在里面增加一行
charset=gbk;
重启nginx服务后,问题依旧。但curl一个静态文件字符编码变为了gbk,所以怀疑到了php设置。
/usr/local/php/bin/php -i |grep charset
结果如下:
default_charset => UTF-8 => UTF-8
打开php配置文件 /usr/local/php/etc/php.ini 搜索charset,的确有这样的配置:
default_charset = “UTF-8”
把它改为
default_charset = “”
再重启php-fpm服务
/etc/init.d/php-fpm restart
再次curl测试,结果正常了。浏览器的页面也正常了。
最让程序员头痛的事莫过于此
2017年7月24日
未分类
No Comments
aming
问题描述:
网站访问时,并不能正常显示汉字,而是很多问号,如下图
这种问题一看就是字符集不对。 在IE浏览器下打开此站点,然后点击右键,把字符集修改为gbk,则显示正常,这样肯定是不行的,总不能让所有用户自己去设置浏览器吧。 所以还得从服务端去入手。
先curl测试:
发现charset为UTF-8,只要把它修改为gbk即可。 所以修改虚拟主机配置文件,在里面增加一行
重启nginx服务后,问题依旧。但curl一个静态文件字符编码变为了gbk,所以怀疑到了php设置。
结果如下:
打开php配置文件 /usr/local/php/etc/php.ini 搜索charset,的确有这样的配置:
把它改为
再重启php-fpm服务
再次curl测试,结果正常了。浏览器的页面也正常了。