IE9:如何使Unicode字符正确显示?

时间:2012-01-20 19:37:49

标签: html internet-explorer unicode internet-explorer-9

我正在设计一个网站(www.lathamcity.com),我在其中使用Unicode字符&#x2022来表示标题中的项目符号。但是,当我在IE9中加载页面时,子弹点不会出现,并且取而代之的是该角色的Unicode。

我的字符集在HTML文档中用

定义
<meta charset="UTF-8">

并且标题的代码是

    <td id="infoCell" class="header">   
        <a href="/resume.pdf" class="header" target="_blank">R&#233sum&#233</a> 
        &nbsp &#x2022 &nbsp 
        <a href="mailto:acl68@case.edu" class="header" target="_blank">E-mail</a> 
        &nbsp &#x2022 &nbsp
        <a href="https://github.com/orthogonal/" class="header" target="_blank">GitHub</a>
        &nbsp &#x2022 &nbsp
        <a href="http://stackoverflow.com/users/1146679/andrew-latham" class="header" target="_blank">StackOverflow</a>
        &nbsp &#x2022 &nbsp
        <a href="http://main.uschess.org/assets/msa_joomla/MbrDtlMain.php?12842311" class="header" target="_blank">USCF</a>
    </td>

这些字符在Chrome和Firefox中正确显示。我做错了什么,为什么会这样,我该如何解决?

1 个答案:

答案 0 :(得分:3)

你错过了一个分号。

&#x2022

应该是

&#x2022;

同样,&nbsp&#233应以;结尾。

HTML5 spec说:

  

十六进制数字字符引用

     

&符号后面必须跟一个U + 0023 NUMBER SIGN字符(#),后跟U + 0078 LATIN SMALL LETTER X字符(x)或U + 0058 LATIN CAPITAL LETTER X字符(X) ),然后必须跟随一个或多个数字,范围为U + 0030 DIGIT ZERO(0)至U + 0039 DIGIT NINE(9),U + 0061 LATIN SMET LETTER A至U + 0066 LATIN SMALL LETTER F, U + 0041 LATIN CAPITAL LETTER A到U + 0046 LATIN CAPITAL LETTER F,表示一个基数为16的整数,对应于根据下面定义允许的Unicode代码点。 数字后面必须跟一个U + 003B SEMICOLON字符(;)。