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


85

如何将特殊字符编码到网页中?例如,我需要这个符号℃,我现在通过复制和粘贴该字符就可以使用它了。这适用于我检查过的桌面浏览器,也适用于iPad和iPhone,但是在我用于测试的Blackberry上没有任何显示。是否有标准的最佳做法?

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


是否有关于使用什么(UTF-8 vs十六进制)或其他格式的标准思想?谢谢
埃文斯(Evanss)

啊,对不起,一开始不明白您的问题。我相信通常会首选UTF-8。至于符号本身,我通常只做度数符号,后跟一个大写的C,就像这样:°C。我不确定这是否比您的解决方案好还是坏。我猜最大的区别是两个字符之间的字母间距。
Nix 2012年

我认为此符号必须按照您的方式进行。谢谢
埃文斯(Evanss)

Answers:


177

尝试用替换它°,并将字符集设置为utf-8,如Martin所建议的。

°C 会给你这样的东西:

摄氏温度


我认为,最佳答案
Epirocks

那很完美!
Zobia Kanwal

37

如果您确实要使用DEGREE CELSIUS字符“℃”,则复制和粘贴就可以了,只要您的文档采用UTF-8编码并在HTTP标头中声明为此类。使用字符引用℃将同样有效,并且将独立于字符编码而工作,但是源的可读性要差得多。

Blackberry的问题很可能是字体问题。我不了解Blackberry上的字体,但是字体库可能有限。您无法在HTML中对此进行任何操作,但是可以使用CSS,也可以使用@font face

但是很少有理由使用DEGREE CELSIUS。它是兼容字符,由于在东亚文字中使用,因此包含在Unicode中。Unicode标准在第15章(第497页的15.2节)中明确指出:

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

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

注意:一些浏览器可能会将度数符号视作允许在其后换行,即使没有空格介入,也将“°”和后面的“ C”放在单独的行上。有不同的方法可以防止这种情况。一种简单而有效的方法是这样的:<nobr>42 °C</nobr>


1
我读过的最好的答案之一,直接引用了关键信息。太棒了!!
htm11h 2013年

1
为什么这么复杂?摄氏在键盘的左上角,按一下即可吗?
Pascal

2
@Pascal,那可能是什么键盘?
Jukka K. Korpela

使用style =“ white-space:nowrap”代替<nobr>。developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr
IceWarrior353 '18

10

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

<sup>o</sup>C

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


11
字母“ o”不是度数符号,但对于人类可能看起来像度数符号。这是一种黑客行为,会使计算机难以理解,例如屏幕阅读器和搜索引擎。
gregers


4

向您的标头添加元标记

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

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


5
<meta charset="utf-8"/>我相信,在HTML5中,您可以使用。
Drew Noakes

就我而言,这是真正的解决方案。VS2015的行为根据“ Content-Type”元标记的内容进行。
德国拉托雷

新增此功能后,我解决了一个问题,°Â°img缺少源图像的alt标签中呈现了a 。
StephenT

1
  1. 度符号属于数字,而不属于“ C”。您可以将度数符号视为数字符号,就像减号一样。
  2. 有应为数字和符号度之间的任何空间。
  3. 这里是程度的标志和“C”之间的非打破空间。

您能否提供这些主张的来源?
Matthieu

0

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

<%@ page contentType="text/html; charset=UTF-8" %>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.