我正在尝试在外部JS文件中对£符号进行编码,但我不断获得'%EF%BF%BD'。这是简单的代码:
alert(encodeURIComponent("£"));
同一个警报在调用外部JavaScript文件的HTML页面上给出'%C2%A3'。 HTML页面具有以下字符集:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
我也为外部JS文件定义了字符集:
<script type="text/javascript" src="/js/share.js" charset="utf-8"></script>
如何强制外部JavaScript文件使用UTF-8编码?
答案 0 :(得分:2)
通过使用UTF-8编码创建空白JS文件,从原始文件复制代码并用新文件替换旧文件来解决此问题。
答案 1 :(得分:0)
ef bf bd
是replacement character - 浏览器在其字体中没有给定字符时使用的内容。
如果它在这里正确呈现,它看起来像这样:
我的猜测是,你使用的任何字体都不支持英镑符号£
您可以添加指向您正在使用的网页或演示的链接吗?
答案 2 :(得分:0)
使用UTF encoded字符
alert("\u00A3");
上
更新:我仍然不确定你的问题是什么,但这是另一个例子。
HTML
<div id="out"></div>
的Javascript
var link = "http://somewhere.com",
tweet = "£££££€€€€€€€",
x = '<a href="twitter.com/intent/tweet?url=' + encodeURIComponent(link) + '&text=' + encodeURIComponent(tweet) + '">anchor</a>';
document.getElementById("out").innerHTML = x;
alert(decodeURIComponent(x));
上
正如我在评论中所建议的那样,如果以上不是您正在寻找的解决方案,您应该构建一个jsfiddle来演示您遇到的问题。