【问题标题】:character encoding in javascript filejavascript文件中的字符编码
【发布时间】:2016-04-12 22:43:42
【问题描述】:

我是 javascript 文件中对象的默认值

var default = {
    Title : "Actualités",
    Channel : "French"
}

我正在从这里加载默认值,但是当我检查控制台中的值时,标题的值包含未知字符,而不是 "é"。它显示

【问题讨论】:

标签: javascript


【解决方案1】:

如果您谈论的是 Web 浏览器,浏览器用来解释文件的字符集由服务器随文件发送的 Content-Type 标头确定。 (script 标签也有一个charset 属性,但如果服务器说出不同的内容,则服务器获胜。最好确保服务器发送正确的信息。)

因此,必须使用服务器将告诉浏览器它正在使用的字符集将文件写入存储。将文件存储为 Windows-1252 或 ISO-8859-1 是一个相当常见的错误,但让服务器发送它说它是 UTF-8,这会导致您提出的那种问题。

确保文件的编码和服务器报告的编码匹配,字符不会乱码。

指向 SO 创始人之一 Joel Spolsky 的文章的必填链接:The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

【讨论】:

【解决方案2】:

您可以在 JS 文件中使用 é \xE9 的编码字符。无论 JS 文件的编码如何,这都应该有效。 (如果这是您希望被提及的唯一角色)。试试下面的代码,应该可以解决你的问题

var default = {
    Title : "Actualit\xE9s",
    Channel : "French"
}

【讨论】:

    【解决方案3】:

    请在 html 文档的 head 元素中添加以下元标记:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    

    以上代码将强制浏览器以 Unicode 格式加载内容。

    【讨论】:

    • 另外,如果您只创建了 javascript 文件,则在包含相同 js 文件的 html 文档中添加相同的代码
    • HTML 文档的编码不会影响外部 Javascript 的处理方式。
    猜你喜欢
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多