servlet返回值给js时alert出现中文乱码
publicstaticStringgetNewString(Stringstr){StringnewString="";try{//把iso-8859-1转换成utf-...
public static String getNewString(String str) {
String newString="";
try {
// 把iso-8859-1 转换成 utf-8
newString=new String(str.getBytes("iso-8859-1"),"utf-8");
} catch (Exception e) {
e.printStackTrace();
}
return newString;
}
servlet中的代码如下:
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String userName = MyTools.getNewString(request.getParameter("userName"));
out.println(userName);
这样的话没有问题,在js中alert可以正常显示。
但是改成这样就不行了:
String userName = MyTools.getNewString(request.getParameter("userName"+"呵呵"));
这样alert的时候“呵呵”就会乱码
总体来说就是,只要是我手动输入的中文,就会变成乱码。为什么呢? 展开
String newString="";
try {
// 把iso-8859-1 转换成 utf-8
newString=new String(str.getBytes("iso-8859-1"),"utf-8");
} catch (Exception e) {
e.printStackTrace();
}
return newString;
}
servlet中的代码如下:
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String userName = MyTools.getNewString(request.getParameter("userName"));
out.println(userName);
这样的话没有问题,在js中alert可以正常显示。
但是改成这样就不行了:
String userName = MyTools.getNewString(request.getParameter("userName"+"呵呵"));
这样alert的时候“呵呵”就会乱码
总体来说就是,只要是我手动输入的中文,就会变成乱码。为什么呢? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询