【问题标题】:Why Unicode character for "Hearts" symbol fails with HTML为什么“心”符号的 Unicode 字符在 HTML 中失败
【发布时间】:2011-11-01 14:55:45
【问题描述】:

根据我的理解,下面的 HTML 标记应该显示一个心形符号,但事实并非如此。我错过了什么? 我在这里得到了关于 Unicode 字符的数据: http://en.wikipedia.org/wiki/Html_special_characters#Character_entity_references_in_HTML

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hearts</title>
</head>
<body>
&#2665;
</body>
</html>

【问题讨论】:

  • 如果您能解释一下您所看到的出乎意料的内容以及数据的显示方式,将会很有帮助。这是您使用浏览器在本地打开的文件吗?它是从服务器发送的吗?
  • 鉴于您使用的是 UTF-8,您只需将 ♥ 字符粘贴到源文件中即可。没有特别需要使用 &amp;#...; 字符引用。

标签: html unicode xhtml


【解决方案1】:

XML/HTML &amp;#NNNN; 表示法用于十进制值。尝试使用&amp;#xNNNN; 形式强制将其解释为十六进制,或者使用十进制值。

【讨论】:

    【解决方案2】:

    编码实体:

    &hearts; &#x2665; &#9829;
    &#x2661; &#x2764; &#x2765;
    

    输出:

    ♥♥♥ ♡ ❤ ❥

    注意x 是必需的。

    没有x:
    &amp;#2661; &amp;#2665;
    ੥ ੩

    【讨论】:

    【解决方案3】:
    <?xml version="1.0" encoding="utf-8" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Hearts</title>
    </head>
    <body>
    &#x2665;
    
    &hearts;
    </body>
    

    适用于 FireFox/Chrome/IE。看起来您忘记了代码中的“x”位。

    【讨论】:

      猜你喜欢
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 2010-12-14
      • 2023-03-31
      相关资源
      最近更新 更多