以下代码显示为问号而非度数符号:
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”
答案 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" %>