某些浏览器中没有显示某些Unicode字符?

时间:2012-03-13 17:01:48

标签: mobile unicode cross-browser

所以我遇到了某些unicode characeters的一致性问题。回复部分下方按钮内的字符以及页面的各个部分显示为正方形:http://bit.ly/zlhgEI

当我将它们复制到谷歌时,我可以导航到描述该角色的维基百科页面。所以它似乎是一个渲染问题。或许这个平台只是缺少人物?我不知道。

它的工作原理:Firefox(我认为在任何平台上),Windows7和ubuntu上的Chrome可能都是osX 它被打破的地方:XP上的Chrome,iphone4和droid令人难以置信

有没有人知道如何确保添加此字符集。我已经尝试添加到utf-8元标记,这似乎什么都不做。我该怎么办?

谢谢!

2 个答案:

答案 0 :(得分:5)

这主要是字体问题。这些按钮包含叙利亚字母,大多数字体都不存在这些字母。 CSS设置为font-family: Helvetica,Arial,sans-serif,但Helvetica和Arial不包含叙利亚字母,因此浏览器将首先尝试将通用名称sans-serif映射到的字体。它很可能也不包含叙利亚字母,因此浏览器要么放弃,要么放弃,例如显示正方形或(更恰当地)扫描系统上可用的字体。所以间接地这也是一个浏览器问题。

可能性绝大多数用户不会看到叙利亚字母,除非您使用嵌入字体。对于合适的字体,您可以检查 http://www.wazu.jp/gallery/Fonts_Syriac.html 许多下载链接不起作用,但尝试 http://www.bethmardutho.org/index.php/resources/fonts.html

您还可以使用包含Syriac字母的字体编写CSS规则,例如: font-family: Estrangelo Edessa, TITUS Cyberbit Basic, Sun-ExtA, Code2000, unifont。但是大多数人在他们的计算机中没有任何这些,所以一旦你选择并安装了一个,就考虑将你选择的可下载字体添加到列表中。

字符编码不是问题。数据采用UTF-8编码,并在HTTP标头中声明为UTF-8,因此meta标记不会影响编码问题(只要在线查看页面)。

IE 9上的按钮看起来很奇怪(每个按钮占据窗口的整个宽度),但这似乎与手头的问题无关,这是一个Quirks Mode问题,可以通过添加{{1}来修复在开始时。

答案 1 :(得分:0)

这可能是mojibake的一个例子。你可以做的不是很多 - 我相信它取决于可用的字体和它们支持的编码范围。