3

以下代码显示为问号而不是度数符号:

var airF = Math.round(Number(MDTMOBILE.RWISWeather[i].AirTemp)) + "\u00B0" + "F";
$('.tempTable').find('td').eq(4).text(airF);
var relHum = Math.round(MDTMOBILE.RWISWeather[i].RH) + "%";
$('.tempTable').find('td').eq(5).text(relHum);
var dewF = Math.round(Number(MDTMOBILE.RWISWeather[i].Dewpoint)) + "\u00B0" + "F";
$('.tempTable').find('td').eq(6).text(dewF);

它显示为: Temp RH Dew 54�F 38% 29�F

我使用了错误的 unicode 吗?"\u00B0"

4

3 回答 3

3

该表示法"\u00B0"是在字符文字中使用度数符号的正确方法。但是,您也可以直接编写字符"°",前提是已正确选择并宣布了字符编码,这是应该的。

如果您在网页上看到“�”,最常见的原因是 HTML 文档的字符编码是 windows-1252(或 iso-8859-1),但声明的编码是 utf-8。但是,在这种情况下,应该不会出现这样的问题,因为字符串是在 JavaScript 中生成的,而 JavaScript 和 DOM 在内部使用 UTF-16 处理字符数据,无论文档的编码是什么。为了分析出了什么问题,我认为我们需要一个能够重现问题的独立演示,和/或演示的 URL。

于 2013-10-23T19:42:52.117 回答
2

我怀疑你的页面不是 unicode,但即使那样你也可以使用.html('°')它——我相信它应该可以工作。

于 2013-10-23T19:26:22.693 回答
0

如果你的 jQuery 在 JSP 页面上,你可以试试这个

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