日期:2014-05-16  浏览次数:20372 次

ajax获取到的中文显示乱码
我在一个index.html(文件类型:UTF-8, 添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />)
里面通过点击事件触发 $("#content").load("content.html");

content.html内容如下

HTML code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <script src="./js/content.js" type="text/javascript">
        </script>
        <link rel="stylesheet" type="text/css" href="./css/table.css""/>
        <title>内容</title>
    </head>
    <body>
    </body>
</html>



content.js 代码:

JScript code

$(document).ready(function(){
    $.ajax({
        type: "get",
        url: "http://localhost:8080/Demo/request",
        dataType: "jsonp",
        jsonp: "callback",
        data: null,
        async: false,
        success: function(data){
            $.each(data, function(i, item){
               alert(item.text);
            });
        }
        
    })
    
});



我确定返回的json中中文是utf-8格式的,但是显示的时候就是乱码, 请各位帮忙看看什么问题, 问题解决当即给分.

------解决方案--------------------
content="text/html; charset=utf-8" 这个是告诉浏览器,是什么编码

html 文件自己也有编码

------解决方案--------------------
你的 content.js 也保存为utf-8编码了吗?
------解决方案--------------------
探讨

楼上几位,每一个文件我都看过,是utf-8编码的;

------解决方案--------------------
如果你是用记事本编辑的content.html话,保存的时候要保存为utf-8而不是默认的ANSI
------解决方案--------------------

是不是 json的编码的问题
统一的 UTF-8
------解决方案--------------------
<script src="./js/content.js" charset="gbk" type="text/javascript">

------解决方案--------------------
response.setContentType("text/html;charset=UTF-8");
response.setContentType("application/x-json");
request.setCharacterEncoding("utf-8");
我每次写servlet 都加上这三句,没出过乱码啊 ,你试试
------解决方案--------------------
你把应用服务器 server.xml里面加上URIEncoding="utf-8" 例如:在<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />这里面添加即可
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding=utf-8/>