我有一个包含中文文本的HTML文件。当我在任何浏览器中打开该文件时,都会有一些字符似乎丢失了。
下面是从浏览器窗口复制的一个示例:
本函旨在邀請您參��定於
我知道的一个事实是,在这里看到的所有其他字符都是正确的,除了缺失的字符(由一个母语为汉语的人证实)。
在HTML标题中,我有一个标记,它表示文件包含UTF-8编码字符:
<META http-equiv="Content-Type" content="text/html; charset=utf-8">我已经尝试过这个元标记中的其他字符,但是到目前为止,除了UTF-8之外,我尝试的任何编码方法看起来都更糟糕。
我还考虑到可能是字体问题,所以我在系统上安装了3种不同的传统中文字体,并强迫Chrome使用它们。他们中的任何一个都没有发挥任何作用--缺失的角色仍然存在。
如果我用Notepad++打开HTML,我可以看到以下内容:
http://i.imgur.com/GoS07WX.png
如果我选择并将此文本复制粘贴到常规MS记事本中,我将得到以下内容:
本函旨在邀請您參劦nbsp;定於
因此,您可以在这里看到,在Notepad++中可见的“x8A”似乎已被劦所取代。
在这种情况下,浏览器为什么要显示��而不是劦,有什么原因吗?
发布于 2016-12-18 09:52:49
再次查看HTML文件。
我看到在UTF-8中编码的字符的前两个字节,然后是.让我们想象一下,最初有\xA0,当文件通过将全局替换应用到UTF-8编码的数据时,它会发生变异为 。
但是,\xE5 5\xA0\xA0 UTF-8解码为U+52A,与U+52A6 .离答案不够近。
https://stackoverflow.com/questions/41149368
复制相似问题