为什么在HTML中使用Unicode字符“心形”符号会失败?

17

据我所知,以下的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>

如果您能解释一下您看到了什么是您所不期望的,以及数据是如何显示的话,那将会大有帮助。这个文件是您在本地用浏览器打开的吗?还是它来自服务器? - Jim Garrison
2
由于你正在使用UTF-8,你可以直接将♥字符粘贴到你的源文件中。没有特别需要使用&#...;字符引用。 - bobince
3个回答

34

XML/HTML中&#NNNN;表示的是十进制值。尝试使用&#xNNNN;形式,将其解释为十六进制,或者可以使用十进制值。


33

编码实体:

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

输出:

♥ ♥ ♥ ♡ ❤ ❥

请注意需要添加 x

没有添加 x 的结果为:
&#2661; &#2665;
੥ ੩


1
以下是一些可以用于不同心形符号的HTML代码:http://heartsymbol.love/list - VKK

8
<?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" 部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接