今天用到PHP命令行生成UTF-8格式的文件,但如何测试都不能成功,由于上网查资料,发现在网络应用时有因为UTF-8的DOM头而导致生成文件错误的,由于想到可能就是这方面的问题,由于仔细研究结果如下:
1、脚本文件是什么编码,那么通过脚本生成的文件就是编码。
2、PHP无法正常读取带DOM头的UTF-8文件,也许能运行但会出一些很奇怪的错误。如今天这样的明明是UTF-8的脚本,但生成的文件却总是ANSI编码的,将脚本去掉DOM头重新存一遍,马上就解决了问题。
3、PHP无论CGI或CLI方式,都无法正常读取UTF-8文件的DOM头。