首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示为CP1252的Unicode实体

显示为CP1252的Unicode实体
EN

Stack Overflow用户
提问于 2015-12-14 10:58:52
回答 1查看 361关注 0票数 0

我已经决定为Unicode参考写一个小脚本,因为我最喜欢的在线Unicode查找站点已经变得充满了缺陷和广告。到目前为止,这是一个令人愉快的项目。然而,我注意到有些字符显示不正确。

例如,代码点Ux8E应该是一个名为“单移位2”的控制字符--事实上,这是显示的名称,但字符本身显示为Ž--这是应该在Ux17D上的字符,“拉丁文大写字母Z和CARON”。它也是CP1252在x8E的字符,所以这肯定是造成混乱的原因之一。

为什么我的浏览器要生成和显示CP1252编码中的字符,以及如何阻止它?目前,脚本在我的Mac上本地运行--在HTML5中是JavaScript,主要是jQuery :字符本身表示为"&x8e;“,并使用jQuery append()插入。脚本本身以UTF-8编码,HTML以元格式指定UTF-8。这是Apache的问题吗?操作系统问题?我还没有做过广泛的浏览器测试,但在Safari、Firefox、Opera和Chrome中都是一样的,所以我想不是这样的。

我可以简单地删除所有的控制字符,因为他们不打算显示无论如何。目前,我正在从一个包含所有Unicode字符信息的XML文件中将字符名称放在页面中,因此在进行此操作时,我可以检查一个字符是否是一个控制字符,并相应地删除它。但是XML是巨大的,Ajax的速度足够慢,使它成为一个快速的引用,所以我非常想找到一种方法来迫使我的计算机从一开始就不给我看垃圾。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-16 01:07:29

这是一个buggy网站解决方案。

例如:符号 (U+2022)在几个单字节字符集中被编码为字节0x95,比如Windows1252。因此,有些人会通过编写•在自己的网页中添加一个项目。如果浏览器使用相同的编码,它可能会正常工作。

通常情况下,•确实编码一个控制字符。但是由于这些控制字符通常不在网页中使用,即使是现代浏览器也假定这个实体引用了windows-1252中的编码值,并显示了一个符号。(子弹的正确数值实体是•)

现在,您通常会指定页面的编码(通常是utf-8),只需在HTML页面中逐字逐句地写出字符。

这也是制止这种行为的方法。只需使用字符(如。(通过使用$element.text("•"))和不使用数字实体。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34265286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档