直接贴代码吧,能试的方法都试了还是不行。
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新建的页面里,改一下页面编码就好了