0

我正在尝试将 £ 符号编码到外部 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 编码?

4

3 回答 3

2

通过创建一个 UTF-8 编码的空白 JS 文件,从原始文件中复制代码并用新文件替换旧文件来解决此问题。

于 2013-06-13T08:12:58.360 回答
0

ef bf bd替换字符- 如果浏览器的字体中没有给定字符,它会使用什么。

如果它在这里正确渲染,它看起来像这样: </p>

我的猜测是您使用的任何字体都不支持英镑符号 £

您可以添加指向您正在使用的页面的链接或演示吗?

于 2013-06-12T15:48:33.370 回答
0

使用UTF 编码字符

alert("\u00A3");

jsfiddle 上

更新:我仍然不确定你的问题是什么,但这里有一个进一步的例子。

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 上

正如我在评论中建议的那样,如果上述不是您正在寻找的解决方案,您应该构建一个 jsfiddle 来演示您遇到的问题。

于 2013-06-12T15:54:32.187 回答