5

以下脚本在没有特殊字符的情况下运行良好。不幸的是,我有很多特殊字符要替换。如何在 jQuery 中用特殊字符替换文本?

您可以看到我的脚本有 α、β、∑ 和更多特殊字符。

谢谢你们的帮助。

HTML 代码

 <script src="http://code.jquery.com/jquery.js"></script>

 <input type="submit" name="replace" id="replace" value="Replace" />

 <div class="my_div">Default1 content1</div>
 <div class="my_div">Default2 content2</div>

脚本

$('#replace').click(function() {
    $('.my_div').text(function( idx, oldHtml){
        return oldHtml
            .replace("Default1", 'α')
            .replace("Default2", 'β')
            .replace("content1", '∑');
    });
});
4

3 回答 3

7

您应该检查服务器的默认编码设置是否与文档编码匹配和/或在文档上指定正确的编码。这里有一些例子:http: //www.w3.org/International/O-charset.en.php

此外,您可能/必须对这些特殊字符(至少其中一些)进行 HTML 编码,以便正确显示它们。您可以使用 jQuery 自动转义它们:

$('<div />').text(stringtoescape).html();

或手动遵循此转换表http://www.w3.org/TR/html4/sgml/entities.html#h-24.3

于 2012-10-28T13:13:25.507 回答
2

我知道这是旧的,已经得到回答和接受,但是我在从 javascript/jquery 更改包含上述特殊字符的输入表单中的计算值字段时遇到了很多麻烦。我尝试过的任何事情都会导致输入表单字段被完整的转义字符串填充。Mihai 用 \u 把戏让我绕过了它。尔格:

带输入字段:

<input type="text" name="string" id="string" />

我做不到

$('#string').value('&Phi;')

结果将是文字字符串 'Φ'

但能做到

$('#string').value('\u03a0')

哪个有效。

这对大多数人来说可能是显而易见的,但我在这方面浪费了很多时间,而且由于有这么多通用查询术语,这是一个很难问的问题。

于 2015-09-22T16:27:38.883 回答
1

尝试以 utf-8 编码存储您的文件

于 2012-10-28T13:15:08.230 回答