3
昨天在本地环境创建了一个文件,文件编码是UTF-8格式,打印一个简单的语句竟然出现了中文乱码,折腾了很久,才找到了原因。

乱码问题

昨天写了一个很简单的php输出中文页面,但是出现了乱码问题,第一反应可能是脚本文件的编码格式有问题,看了下,没有问题,原文件编码为utf-8,那是什么原因呢?

这种问题第一次碰到,虽然可以在输出页面加 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />,可以暂时解决,但是这种方法治标不治本,从根本解决不了问题,后来在网上查了下,原来是 php.ini 的配置的默认字符设置的问题。

也可以这样在头文件加header处理,但是这样的方法也治标不治本,推荐使用下边修改php.ini的方法:

header("Content-type: text/html; charset=utf-8");

解决方法

打开php.ini文件,找到 ;default_charset = "iso-8859-1", 改为:default_charset = "UTF-8" 把前面的分号去掉(去掉注释),字符集改为UTF-8, 重启apache服务,刷新页面,中文显示正常。

特此记录。


Corwien
6.3k 声望1.6k 粉丝

为者常成,行者常至。