程度unicode显示为问号

时间:2013-10-23 19:22:15

标签: javascript jquery unicode

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

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);

显示为: 温度RH露 54 F38%29 F

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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

我怀疑您的网页不是unicode,但即便如此,您也可以使用.html('°') - 我相信它应该有用。

答案 2 :(得分:0)

如果您的jQuery在JSP页面上,则可以尝试

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