将文本附加到html charset utf8时,Jquery无法正常工作

时间:2013-02-01 13:36:14

标签: jquery utf-8 character-encoding

当我将信息传递给html内的div时,字符集utf 8无法识别,并且文本内部带有询问点。 有没有办法在jquery中强制使用charset utf 8,这样脚本传递的所有文本都会出现在正确的字符集中?

编辑: 我想我在所有文件中都设置了所有的字符集: HTML

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Type:application/json; charset=UTF-8" />
<script type="text/javascript" src="scripts/jquery-1.9.0.min.js" charset="utf-8"></script>
<script type="text/javascript" src="message_validator.js" charset="utf-8"></script>
</head>
<body>
<div class="error_display" charset="utf-8"></div>
<form charset="utf-8">
<input type="text" id="name" class="textbox" name="name" minlength="2" maxlength="12" />
</form>
</body>

JQUERY

 $(document).ready(function() {
    $(document).load("Content-Type:application/json; charset=UTF-8");
    $('.submit').click(function(){
        var errorlist = [];
        errorlist.length = 0;

        errorlist.push("- Tem de preencher os campos obrigat&#243;rios.");

         if(errorlist.length >= 1){
            $('.error_display').animate({'height':errorlist.length*20}, {queue:false, duration:500});
            for(var i = 0; i < errorlist.length; i++) {
                $('.error_display').append(errorlist[i]+"<br/>");
            }

         }
    });
});

3 个答案:

答案 0 :(得分:2)

使用正确的字符放置文本,然后尝试解码它:

errorlist.push(decodeURIComponent(escape("- Tem de preencher os campos obrigatórios.")));

同时检查这些示例以对文本here

进行编码/解码

答案 1 :(得分:1)

这应该不是问题。确保您的页面设置为在元标记中使用UTF8。

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

同时确保此文本的来源(如果是服务器端,您未在OP中指定)将其作为UTF-8发送给您。

答案 2 :(得分:1)

应该意识到的一件事是,脚本文件本身的编码可能导致此错误。确保您的脚本文件编码正确。在Visual Studio中,这是通过以下方式完成的:

  1. 打开文件并执行“另存为”
  2. 单击“保存”按钮旁边的chrevon,然后选择“使用编码保存”
  3. 选择所需的编码

enter image description here

IDE到IDE有所不同,但是要旨是相同的