我想在面包屑导航中显示字符代码❯
,它形成了这个箭头:❯。
在Firefox、Opera和IE中可以正确显示,但在Chrome中无法显示。我是否做错了什么,还是这是Chrome的一个错误?有没有任何解决方法?
我正在使用Windows 7专业版64位上的Google Chrome版本32.0.1700.107 m。
我想在面包屑导航中显示字符代码❯
,它形成了这个箭头:❯。
在Firefox、Opera和IE中可以正确显示,但在Chrome中无法显示。我是否做错了什么,还是这是Chrome的一个错误?有没有任何解决方法?
我正在使用Windows 7专业版64位上的Google Chrome版本32.0.1700.107 m。
浏览器(包括Chrome)有时在渲染字符时会遇到困难,因为它不存在于元素指定的字体中,或者在缺少这些规范的情况下,存在于浏览器默认字体中。 浏览器应该检查系统中的所有字体以找出包含字符的字体,但有时它们未能做到。 有时原因是某些字体具有声称其具有字符字形的信息(因此浏览器停止搜索),但实际上并没有。
解决方法是指定已知包含字符的字体列表。 对于“❯”U + 276F HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT(一种相当特殊的字符),字体覆盖范围非常有限。 大多数计算机都没有包含它的字体。 您可以指定以下字体列表:
font-family: DejaVu Sans, Symbola, Everson Mono, Dingbats, Segoe UI Symbol,
Quivira, SunExt-A, FreeSerif, Universalia, unifont;
但大多数用户缺少所有这些字体。您可以考虑使用可下载字体(web font)和@font-face。DejaVu字体,Symbola和Quivira是免费字体,尽管它们的文件大小相当大。
或者,考虑使用图像。这个字符是一种装饰性的dingbat,是一种特殊的图形而不是一个字符,但由于遗留原因,它已被编码为Unicode字符。
更多信息:HTML中使用特殊字符的指南。
font-family: 'Source Sans Pro',Helvetica,Arial,sans-serif
,这意味着对于U+276F,浏览器将使用默认的无衬线字体。 - Jukka K. Korpelafont-family
中列出的特定字体都不包含该字符时,在不同的浏览器上可能会有所不同。 - Jukka K. Korpela你是否尝试使用
htmlspecialchars(string)
或者
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-8">
echo '<p>' . htmlspecialchars('❯') . '</p>';
没有起作用,第二个选项也不行。 - Keavon[编辑] 显然,这是UTF-16的已知问题,而不是UTF-8。 [/编辑]
这是一个已知的问题。最简单的备选方案是使用Unicode代理对。
[来源]
http://www.fileformat.info/info/unicode/char/10095/index.htm
U+10095
,而不是 ❯
,后者是 U+276F
,不需要代理对。 - Jim Garrison
❯
是 U+276F,并且完全在BMP范围内。 - Jim Garrison