当前位置: 代码迷 >> Java Web开发 >> ajax中文乱码有关问题
  详细解决方案

ajax中文乱码有关问题

热度:244   发布时间:2016-04-17 12:24:11.0
ajax中文乱码问题
直接贴代码吧,能试的方法都试了还是不行。 
servlet代码:public void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException
PrintWriter out = response.getWriter(); 
response.setHeader("Charset","GBK"); 
response.setCharacterEncoding("GBK"); 
response.setContentType("text/html;charset=GBK"); 
String type = new String(request.getParameter("id").getBytes("iso-8859-1"),("GBK")); 
try{ 
MssqlQuery mssqlQuery = new MssqlQuery(); 
ResultSet rss = mssqlQuery.executeQuery("select TitleType from V_titleType_type where name='"+type+"'"); 
if(rss.next()){ 
out.print(new String(rss.getString("TitleType").getBytes("iso-8859-1"),("GBK"))); 
}else{ 
out.print(""); 

}catch(SQLException ex){ 



js代码: 
function getTitleType(){ 
var type=document.newPO.type.value; 
Json3(); 
var url="servlet/getTitleTypeByType?id="+type;//ÌØÊâ¾ä 
http3.open("GET",url,true); 
http3.onreadystatechange=processResponseGetTitleType; 
http3.send(null); 


function processResponseGetTitleType(){ 
if((http3.readyState == 4)&&(http3["status"])){ 
if(http3.status == 200){ 
reReqGetTitleType(); 
}else{ 
window.alert("WEB Error!"); 




function reReqGetTitleType(){ 
alert(http3.responseText); 
ReqGetTitleType(http3.responseText); 



function ReqGetTitleType(titletype){ 
document.getElementById("titleType").value=titletype; 

xmlhttprequest已经在josn()里边定义好了,responseText就是乱码,编码我全用的gbk的,页面也是,高手解决啊,急死了

------解决方案--------------------
如果页面改成utf-8,页面又乱了

我告诉你怎么解决!

1 全选内容,Ctrl+C 复制一份
2 修改文件的编码类型,会出现乱码
3 Ctrl+V 粘贴,你会发现你要的东西

此方法限 Eclipse 内操作。其他的编辑器没测试过!


------解决方案--------------------

再次看到被GBK折磨的朋友,不忍。
请将你所有的编码设UTF-8而不是GBK,你说你页面设成UTF-8就乱了,这个可以先建一个utf-8(myeclipse中)
然后用记事本打开你的GBK编码的页面,复制进myeclipse新建的页面里,改一下页面编码就好了
  相关解决方案