我想向我的德国用户打印状态消息,其中包含变音符号(ä/ü/ö)。我也希望他们在源文件中,而不是只为了消息下载和解析一些额外的文件。
但是,我似乎无法找到定义JS源文件编码的方法。是否有类似HTML的http-equiv
?或者我应该在HTTP标头中定义编码吗?
当我简单地用UTF-8对文件进行编码时,IE就会显示垃圾。
答案 0 :(得分:35)
在标题中发送编码总是一个好主意。
如果无法做到这一点,则<script>
标记具有charset
属性。 W3C Reference
<script src="translations.js" type="text/javascript" charset="utf-8"/>
答案 1 :(得分:10)
似乎在HTML5中不推荐使用脚本标记的charset属性(仅对a和link标记不推荐使用)。
答案 2 :(得分:3)
对于法语javascript js,我们使用了另一个字符集:
<script src="./js/MyScript.js" type="text/javascript" charset="iso-8859-1"></script>
答案 3 :(得分:3)
虽然charset参数似乎有帮助,但重要的是要注意它在HTML5中实际上已弃用。
http://www.w3.org/International/questions/qa-html-encoding-declarations#charset
答案 4 :(得分:3)
这可能听起来有点愚蠢,但请确保在您使用的编辑器中使用正确的编码保存您的javascript文件。我的javascript文件编码有问题,解决方案就像这个一样简单!
答案 5 :(得分:-1)
对您的问题最简单的解决方案是对字符串中的特殊字符使用unicode转义。这样,您的代码不会受托管它的页面的影响。