在JavaScript里ajax中文乱码主要有两种情况:

一、获取的结果乱码

示例:

josn.asp页面代码:

<script src="prototype.js"></script>

<script language="javascript">

function GetMessage(){
    var jurl="t.asp";   
    new Ajax.Request(jurl, {
          method: "get",
        onSuccess: function(transport) {
        var json = transport.responseText.evalJSON();
        ResultCode=json.result;       
        message=json.message;
        alert(message);
        }
        });

}
</script>
<input type="button" name="button" id="foo" value="按钮" onclick="GetMessage();"  />

t.asp页面代码:

{"result":"1","message":"成行成功"}

-----------------------------------------------------------------------------
点击按钮回弹出返回json对象的消息。
 

(出现乱码)

解决办法:其实这种情况的乱码主要是结果页面没有指定编码格式,以ASP为例,在t.asp页面加上<%response.Charset="GB2312"%>即可解决问题。
新的t.asp页面代码:
<%response.Charset="GB2312"%>
{"result":"1","message":"成行成功"}

(正常显示)