【发布时间】:2015-10-06 10:26:57
【问题描述】:
我有一些用 ANSI 编码的 php 脚本文件。现在我将我的网站转换为 html5,我需要 UTF-8 中的所有内容,以便正确显示这些文件中的重音符号,而无需通过 iconv() 进行任何 php 转换。我使用记事本++将脚本的编码设置为UTF-8并保存文件,大多数都很好,重音显示正确,现在只有主脚本阻止了所有内容,服务器只返回一个白页,没有任何错误消息,即使是 ini_set('error_reporting', 'E_ALL') !
当我在 Notepad++ 中将编码改回 ANSI 并保存文件而不进行任何其他更改时,它再次起作用(除了没有 iconv() 时重音符号无法正确显示)。
我也尝试过使用 php 脚本来更改 ...$file = iconv('ISO-8859-1','UTF-8', $file);... 的编码,但结果完全一样!
我编写了一个简短的 php 脚本来查找高 char() 值,但最高值似乎是常见的法国口音,如 é、è 等,它们也存在于其他文件中并且没有问题。我确实删除了其他特殊字符,没有任何效果......
问题是文件很大,超过 4500 行,我不知道如何继续纠正这个问题?有人遇到过这个问题,或者有什么想法吗?
【问题讨论】:
-
在 Notepad++ 中,您实际上是在转换文件,还是只是更改您正在查看它的编码?
-
我很确定您采取了错误的方法。您的 PHP 文件不应该是 utf-8。字符串等可以,尝试使用字节转义序列。
-
wye,我转换然后保存。如果我只是更改编码,重音会显示为奇怪的代码 xE8、xA3 等。
-
您是否尝试过“没有 BOM 的 UTF-8”(或类似的,语言更改,抱歉)选项? BOM 在另一个应用程序中出现了一些错误。
-
是的,我做到了,结果相同...