我收到了一些使用 Mac OS 罗马文件编码的 HTML 文件。这些文件具有法语文本,但在编辑器中许多变音字符看起来很奇怪(即非法语)
Si cette option est sÈlectionnÈe, <removed> tentera de communiquer avec votre tÈlescope seulement ‡ líaide díun ...
带重音符号的大写 E 在浏览器中确实会像 é 一样正确显示,就像其他奇怪的字符一样。
我还有一些 UTF-8 法语文件,它们在编辑器中看起来很正常(é 看起来像 é)。我想要做的是将所有 Mac Roman 文件转换为 UTF-8 以方便维护。
仅在编辑器中更改文件编码并不能实现此目的。奇怪的人物还是奇怪。
除了制作转换字典并对所有文件进行查找/替换之外,有没有办法做到这一点?
最佳答案
如果您的编辑器在指定编码时没有正确显示,则说明您指定了错误的编码。您需要弄清楚您真正拥有的编码是什么。
您似乎有一个值为 0xE9 的字节,您需要一个 Unicode LATIN SMALL LETTER E WITH ACUTE
字符。 MacRoman 0xE9 字节是一个带有 GRAVE 的拉丁文大写字母 E 字符,这就是您的编辑器所显示的内容,因为您说它是 MacRoman。但事实并非如此。
但是,Unicode 代码点 U+00E9 确实是 带有 ACUTE 的拉丁文小写字母 E
。
因此,您拥有的不是 MacRoman,但几乎可以肯定是 ISO-8859-1 或 ISO-8859-15。
所以使用类似的东西
$ iconv -f ISO-8859-1 -t UTF-8 < input.latin1 > output.utf8
进行转换。
关于unicode - 将 Mac 罗马字符转换为等效的 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17559659/