以下代码显示为问号而不是度数符号:
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"
是在字 rune 字中使用度数符号的正确方法。但您也可以直接编写字符,"°"
,前提是已正确选择和宣布字符编码,这是应该的。
如果您在网页上看到“�”,最常见的原因是 HTML 文档的字符编码是 windows-1252(或 iso-8859-1),但声明的编码是 utf-8。然而,在这种情况下,应该不会出现这样的问题,因为字符串是在 JavaScript 中生成的,而 JavaScript 和 DOM 在内部使用 UTF-16 来处理字符数据,无论文档的编码是什么。要分析哪里出了问题,我认为我们需要一个能够重现问题的独立演示,和/或演示的 URL。
关于javascript - 度数 unicode 显示为问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19550589/