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

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°F 38%29°F

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

最佳答案

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

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

07-28 06:38