java
resp.setContentType("text/html;charset=UTF-8");
resp.setCharacterEncoding("charset=UTF-8");
resp.setHeader("content-type", "text/html;charset=UTF-8");
writer.write(getjsongread);
js
var gradejson;
var xmlhttp = getxmlhttp();
xmlhttp.open("post", "maininit", true);
xmlhttp.setRequestHeader("Content-type",
"application/x-www-form-urlencoded;UTF-8");
xmlhttp.send();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4)
if (xmlhttp.status != 200) {
} else {
grade = xmlhttp.responseText;
gradejson = JSON.parse(grade);
console.log(gradejson);
Eclipse中JSP文件默认的编码方式是“ISO-8859-1”,它是不支持中文的,因此需要把编码方式改成UTF-8才能支持中文的显示。
看了楼主贴出的源码,初步分析问题的产生是由于楼主项目整体上时用的并不是UTF-8编码的,这样即使在 resp.setCharacterEncoding("charset=UTF-8");的情况下中文还是出现了乱码的情况,建议楼主修改一下整体项目的编码设置。修改过程中一个要注意备份,我曾经遇见过将项目编码切换为UTF-8后项目中的中文全部乱码的情况,回退也无法恢复的情况。一定要注意这个问题!!!
应该是字符编码的问题
先确定一下在后台的时候是否就已经乱码啦?在确定jsp页面和后台这个类的编码方式是否是utf-8?还有就是你用的tomcat的默认编码方式是否是utf-8?
检查前台文件是否已经存储为utf-8编码,并且meta是否增加了charset=utf-8。出现乱码就是前后台编码不一致导致的