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


Bug with php file converted from ansi to utf-8

我有几个php脚本文件编码在ANSI。现在我将我的网站转换为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行,我不确定如何继续纠正这一点?有没有人遇到过这个问题,或者有什么想法?

问题是"£"(磅)字符,我在preg_match("£(…)£","…",$string)和preg_replace条件中大量使用它作为分隔符。

由于某些原因,这些字符在转换后不被接受。我不得不替换它们,然后只有它在utf-8下工作得很好……显然,它们现在不是问题,因为文件已转换,我可以再次使用它们。