【问题标题】:Degree unicode showing as Question Mark度 unicode 显示为问号
【发布时间】:2013-10-23 19:22:14
【问题描述】:

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

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 并替换为度数符号,更改最小脚本,它工作正常。感谢您的建议。
  • 这意味着您的 javascript 不是作为 unicode 提供的。否则用度数符号替换不会有任何害处。

标签: javascript jquery unicode


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我怀疑您的页面不是 unicode,但即便如此,您也可以改用 .html('°') — 我相信它应该可以工作。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2012-08-05
        • 1970-01-01
        • 2015-11-07
        • 1970-01-01
        • 2020-12-04
        • 1970-01-01
        • 2021-11-22
        • 2010-12-14
        相关资源
        最近更新 更多