89

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

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

4

7 回答 7

187

正如 Martin 建议的那样,尝试将其替换为°, 并将字符集设置为 utf-8。

°C会给你这样的东西:

摄氏度

于 2012-05-29T11:02:45.940 回答
38

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

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

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

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

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

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

于 2012-05-29T13:07:56.083 回答
10

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

<sup>o</sup>C

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

于 2015-10-12T09:18:34.153 回答
7

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

于 2015-11-25T04:26:36.510 回答
4

将元标记添加到您的标题

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

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

于 2012-05-29T10:54:25.460 回答
1
  1. 度数符号属于数字,而不是“C”。您可以将度数符号视为数字符号,就像减号一样。
  2. 数字与度数符号之间不得有空格。
  3. 度数符号和“C”之间应有一个不间断的空格。
于 2017-01-18T09:56:03.067 回答
0

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

<%@ page contentType="text/html; charset=UTF-8" %>
于 2020-07-05T18:37:12.137 回答