PHP读取文本文件时汉字显示乱码的处理方法
所属分类:PHP工具与代码
  http://blog.sina.com.cn/s/blog_4c0b7a1b0101gm1l

有人用PHP读取txt文件里的内容源代码,见如下的脚本程序。

例1:
图片地址http://album.sina.com.cn/pic/4c0b7a1bzx6GLARDWeDcb

虽然“通信录.txt”里的内容是中文的,读取出来的应该是中文,但读取显示出来的结果却是一堆乱码!

那么出现乱码,如何处理?

要想彻底解决该问题,需搞清楚文字在计算机内编码格式、各种操作系统对文本文件中换行符的处理办法(见本文后面的小知识、以及参考资料)。

现在归纳一下思路,无外乎下列几种情况:

1. 虽然显示的是乱码,但读取的汉字内容是正确的,只是显示的是乱码。

解决的方法是在网页文件中声明字符的编码格式,如:

图片地址http://album.sina.com.cn/pic/001oldd9zy6GMLhUapTdd

但上述的charset=utf-8可能导致汉字显示为乱码,为保险起见可改为charset=GB2312。
如果你单纯地编写PHP脚本程序,不知这个脚本运行的页面编码格式,为保险起见也可以在PHP脚本(程序)中加一行header("Content-Type: text/html; charset=GB2312") ,这一行是头信息,必须放在PHP脚本开头,规定文字的显示方式,示例如下:

图片地址http://album.sina.com.cn/pic/4c0b7a1bzx6GLB6fX6Ua0

2.虽然显示的是乱码,但读取的汉字内容也是乱码。