PHP默认是用UTF-8来编码的,如果打开的文件不是该编码,则会产生乱码。可使用iconv()函数实现编码转换,具体使用说明参见帮助文档。

注意:有时文件中有些字符不能正确转换,则默认情况下会导致转换中断,并输出错误信息“PHP Notice:  iconv(): Detected an illegal character in input string in …”,此时需要在该函数的第二个参数中增加配置项,下面是帮助文件的说明:

如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。 如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则,str 从第一个无效字符开始截断并导致一个 E_NOTICE