在HTML中的欧元符号

17
欧元(€)是22个欧洲国家的官方货币。
在HTML中,有不同的方式来显示欧元符号€:
  • €
  • €
  • €
你会在HTML中使用哪一个?我认为没有一种表示方法在所有浏览器中都被支持。很遗憾没有一种标准的方式来显示这个符号。
你能推荐其中一种表示方法吗?它们之间有什么区别?哪一种得到了最好的支持?
6个回答

38

在HTML中应该使用哪一个?

都不用。请使用适当的编码(例如:UTF-8或其他Unicode变换),并直接使用字符。尽可能避免使用HTML实体,因为它们与使用正确编码相比没有任何优势。

此外,这是错误的:

可惜没有标准的方法来显示这个符号。

实际上有,并且就是我所描述的方式。只要所选字体支持该字形,从MSIE 5到包括最新版的所有浏览器都可以正确显示Unicode字符。

唯一不使用Unicode字符而退而求其次使用实体的有效原因可能是使用不太支持Unicode的旧软件的项目。但那应该不会发生,对吧?


1
谢谢!所以,既然我使用UTF-8,我应该使用€,对吗?这比实体更好吗?支持得更好吗? - caw
10
现在是2009年,我们应该都应该使用UTF-8。你在SO问题中直接输入了“€”符号,因此你应该在网页中也直接输入它! - bobince
马可:这是一个编码问题。请确保发送到Web浏览器的编码与您的文档/数据的编码相对应。如果您无法解决此问题,请随时打开新问题,因为此处的评论空间不太适合讨论问题及其解决方案。 - Konrad Rudolph
2
你已将文件保存为Windows-CP1252编码(西欧),并将其作为ISO-8859-1编码提供,这与CP1252类似但不完全相同。这就是为什么欧元符号最终成为控制字符(U+0080)。很可能您在没有任何字符集数据的情况下提供页面,因此浏览器正在猜测您的意思,这可能会让您感到困惑。在<head>中添加<meta http-equiv="Content-Type" content="text/html;charset=..."/>元素以指定您的字符集。 - bobince
1
你最好将文件保存为UTF-8格式并以UTF-8格式提供,但Proton是一款完全不支持Unicode的老式编辑器。我不建议使用它。输入'ä'来获取'ä'只是愚蠢的行为。 - bobince
显示剩余6条评论

9

根据Google Doctype&euro;在所有浏览器中都受支持。但是可能不是所有字体。

编辑 我也同意Konrad Rudolph的观点,如果可以,请直接使用该字符。


如果您使用 Courier New 字体,似乎在 Internet Explorer 8 中无法正常工作。 - caw

2

来自谷歌的HTML/CSS样式指南:

不要使用实体引用。 假设文件、编辑器以及团队之间都使用相同的编码(UTF-8),则没有必要使用实体引用,如—、”或☺。

唯一的例外是在HTML中具有特殊含义的字符(例如<和&)以及控制或“不可见”字符(例如不间断空格)。

<!-- Not recommended -->
The currency symbol for the Euro is &ldquo;&eur;&rdquo;.

<!-- Recommended -->
The currency symbol for the Euro is “€”.

谢谢,总结得非常好。 - caw
2
我忘记发布了,但这是Google的官方样式指南:http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml - Wouter Dorgelo
这是新链接,供所有阅读此内容并发现链接不再有效的人使用.. ;) https://google.github.io/styleguide/htmlcssguide.xml - Dennis98

1

你应该真正测试它,并将支持它的浏览器指定为最低要求。这样可以极大地减轻你的工作量,因为它使用户负责 :-) 或者,另一种选择是使用单词“欧元”或“EUR”货币符号(如USD、AUD、JPY等)。


1
谢谢。 "EUR" 可能是最好的选择。 - caw

0

我使用&#128;,如您所见:€,它至少在Firefox、Chrome和IE中可以正常工作。


0

目前来看,被接受的答案实际上很糟糕。 最好的选择是使用 &euro;

&#128; 不是 Unicode,尽管它可以工作。它是 ANSI。JavaScript String.fromCodePoint(128) 将给你一个控制字符,你甚至看不到它。远离那个。

如果你要使用纯 UTF-8 文本来表示符号,在更改数据库属性后或者在将其意外复制到 ANSI 编码或其他编码文件中时,可能会出现错误。我曾经遇到过这种情况。


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