将摄氏度符号编码到网页中的最佳方法是啥?

Posted

技术标签:

【中文标题】将摄氏度符号编码到网页中的最佳方法是啥?【英文标题】:Best way to encode Degree Celsius symbol into web page?将摄氏度符号编码到网页中的最佳方法是什么? 【发布时间】:2012-06-03 14:10:06 【问题描述】:

我应该如何将特殊字符编码到网页中?例如我需要这个符号℃,我只是通过复制和粘贴我现在看到的字符来使用它。这适用于我检查过的桌面浏览器以及 iPad 和 iPhone,但我用于测试的黑莓上没有显示任何内容。有没有标准的最佳实践?

http://www.fileformat.info/info/unicode/char/2103/browsertest.htm

【问题讨论】:

对于使用什么,UTF-8 与 Hex 还是其他格式,是否有标准思考?谢谢 啊,抱歉,一开始没看懂你的问题。我相信 UTF-8 通常是首选。至于符号本身,我通常只做度数符号,后跟大写 C,如下所示:°C。我不确定这是否比您的解决方案更好或更差。我猜最大的区别是两个字符之间的字母间距。 我认为这个符号有必要按照你的方式来做。谢谢 【参考方案1】:

在标题中添加元标记

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

这扩大了您可以使用的字符数量。

【讨论】:

在 HTML5 中你可以使用 &lt;meta charset="utf-8"/&gt; 我相信。 就我而言,这是真正的解决方案。 VS2015 的行为根据“Content-Type”元标记所说的内容。 添加这个为我解决了一个问题,即° 在缺少源图像的img alt 标记中被呈现为°【参考方案2】:

按照 Martin 的建议,尝试将其替换为 &amp;deg;,并将字符集设置为 utf-8。

&amp;deg;C 会给你这样的东西:

【讨论】:

最佳答案,在我看来 太完美了! 由于某种原因会导致 °C【参考方案3】:

如果你真的想使用摄氏度字符“℃”,那么复制和粘贴是可以的,只要你的文档是 UTF-8 编码并在 HTTP 标头中声明为这样。使用字符引用 &amp;#x2103; 也同样有效,并且可以独立于字符编码工作,但源代码的可读性会差很多。

Blackberry 的问题很可能是字体问题。我不知道黑莓上的字体,但字体库可能是有限的。在 HTML 中您无能为力,但您可以使用 CSS,可能使用 @font face

但很少有任何理由使用摄氏温度。它是一个兼容字符,由于它在东亚文字中的使用而包含在 Unicode 中。 Unicode 标准在Chapter 15(第 15.2 节,第 497 页)中明确指出:

“正常使用时,最好用U+00B0的序列来表示摄氏度“°C” 度符号 + U+0043 拉丁文大写字母 c,而不是 U+2103 摄氏度。”

度数符号“°”可以通过多种方式输入,包括实体引用`°,但通常最好将其作为字符插入,通过复制和粘贴或其他方式。在 Windows 上,您可以使用 Alt 0176。

警告:即使没有空格,某些浏览器可能会将度数符号视为允许在其后换行,将“°”和后面的“C”放在不同的行上。有different ways to prevent this。一个简单有效的方法是这样的:&lt;nobr&gt;42 °C&lt;/nobr&gt;

【讨论】:

我读过的最好的答案之一,直接引用关键来源。太棒了! 为什么这么复杂?摄氏度在我键盘的左上角按一下? @Pascal,那可能是什么键盘? 使用 style="white-space: nowrap" 代替 。 developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr【参考方案4】:

在字母“o”和大写“C”上使用sup

&lt;sup&gt;o&lt;/sup&gt;C

应该适用于所有浏览器和 IE6+

【讨论】:

字母«o»不是度数符号,但它可能看起来像人类的度数符号。这是一种 hack,会让计算机难以理解——比如屏幕阅读器和搜索引擎。【参考方案5】:

我不知道为什么这还没有出现,但你为什么不使用&amp;#8451; (℃) 或 &amp;#8457; (℉) 分别表示摄氏和华氏!

【讨论】:

它们长什么样子? @Matthieu 看这里:unicode-table.com/en/search/?q=%26%238457%3B 和 unicode-table.com/en/search/?q=%26%238451%3B【参考方案6】:
    度数符号属于数字,而不属于“C”。您可以将度数符号视为数字符号,就像减号一样。 数字和度数符号之间不得有任何空格。 在度数符号和“C”之间有一个不间断的空格。

【讨论】:

您能否提供这些断言的来源?【参考方案7】:

如果使用 Java-JSP,对我有用的是将下面粘贴到 JSP 页面中

<%@ page contentType="text/html; charset=UTF-8" %>

【讨论】:

以上是关于将摄氏度符号编码到网页中的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

表示温度的摄氏度符号怎么打?

R语言ggplot2可视化在可视化图形的X轴标签中添加温度摄氏度符号(add temperature degree symbol on axis label)

(急)c#中的换列符号是啥

利用Python完成华氏度和摄氏度的转换

英语一般疑问句后跟称谓,标点符号怎么

Python摄氏度与华氏度互相转化