php文件从ansi转换为utf-8的错误

时间:2015-07-16 19:50:08

标签: php encoding utf-8

我有一些用ANSI编码的php脚本文件。现在我将我的网站转换为html5,我需要UTF-8中的所有内容,以便正确显示这些文件中的重音符,而无需通过iconv()进行任何php转换。我使用Notepad ++在UTF-8上设置脚本的编码并保存文件,大多数都很好,重音符号显示正确,只有主脚本现在阻止所有内容,服务器只返回白页,没有任何错误消息,即使是ini_set('error_reporting', 'E_ALL')

当我在Notepad ++中将编码更改回ANSI并保存文件时没有任何其他更改,它再次起作用(除非没有iconv(),重音符号才会正确显示。)

我也尝试使用php脚本更改...$file = iconv('ISO-8859-1','UTF-8', $file);...的编码,但结果完全一样!

我写了一个简短的PHP脚本来查找高char()值,但最高值似乎是常见的法语口音,如é,è等,它们也存在于其他文件中并且没有任何问题。我确实删除了其他特殊字符,没有任何影响...

问题是该文件很大,超过4500行,我不知道如何进行纠正?任何人都有这个问题,或有任何想法?

1 个答案:

答案 0 :(得分:0)

问题出在“”(磅)字符上,我在preg_match(“£(...)£”,“ ...”,$ string)和preg_replace条件中使用了很多定界符。

由于某些原因,转换后不接受这些字符。我必须替换所有的文件,然后才可以在utf-8中正常工作...显然,既然文件已转换,它们就不成问题了,我可以再次使用它们。