Ajax中文处理乱码问题总结
来源:百度文库 编辑:神马文学网 时间:2024/04/20 02:07:28
乱码是经常困扰非英语Web程序开发的程序员的问题,可喜的是网上的解决方案也不少,有从客户端想办法的,有从服务端想办法的.本人收集了一些材料,总结出自认为比较容易轻松的方案如下,希望与大家一起探讨.
1.Jsp页面正确显示中文(其实这个不是Ajax的)
页首写入:
<%@ page contentType="text/html; charset=UTF-8"%>
后写入:
这样静态中文就可以显示了.
2.Java解析XMLHttpRequest传递过来的中文.
如果把中文直接放在URL中通过XMLHttpRequest传到Servlet中,中文会变成"??",其实这时用下列函数转一下码即可:
String type =StringUtil.getDecodeParamFromReq("type",request);// 取代了原来的request.getParameter("type");
StringUtil类的完整代码如下:
package com.sitinspring.nnyy.util;
import javax.servlet.http.HttpServletRequest;
public final class StringUtil {
private StringUtil() {
}
public static String getDecodeParamFromReq(String paramName,
HttpServletRequest request) {
String retval = request.getParameter(paramName);
try {
// 中间用ISO-8859-1过渡
byte[] b = retval.getBytes("8859_1");
// 转换成GB2312字符
retval = new String(b, "GB2312");
} catch (Exception e) {
e.printStackTrace();
}
return retval;
}
}
此后type将得到正确的中文.
3.Response如何传出存在中文的xml
很简单,在Servlet的doPost函数首部书写一下三句即可
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.setCharacterEncoding("UTF-8");
此后在js解析responseXML时也不需要escape函数的帮忙了.
示例页面:
以上
1.Jsp页面正确显示中文(其实这个不是Ajax的)
页首写入:
<%@ page contentType="text/html; charset=UTF-8"%>
这样静态中文就可以显示了.
2.Java解析XMLHttpRequest传递过来的中文.
如果把中文直接放在URL中通过XMLHttpRequest传到Servlet中,中文会变成"??",其实这时用下列函数转一下码即可:
String type =StringUtil.getDecodeParamFromReq("type",request);// 取代了原来的request.getParameter("type");
StringUtil类的完整代码如下:
package com.sitinspring.nnyy.util;
import javax.servlet.http.HttpServletRequest;
public final class StringUtil {
private StringUtil() {
}
public static String getDecodeParamFromReq(String paramName,
HttpServletRequest request) {
String retval = request.getParameter(paramName);
try {
// 中间用ISO-8859-1过渡
byte[] b = retval.getBytes("8859_1");
// 转换成GB2312字符
retval = new String(b, "GB2312");
} catch (Exception e) {
e.printStackTrace();
}
return retval;
}
}
此后type将得到正确的中文.
3.Response如何传出存在中文的xml
很简单,在Servlet的doPost函数首部书写一下三句即可
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.setCharacterEncoding("UTF-8");
此后在js解析responseXML时也不需要escape函数的帮忙了.
示例页面:
以上
Ajax中文处理乱码问题总结
Ajax乱码问题整理
Ajax中文乱码原因分析及解决方案 [转]
Ajax中文乱码原因分析及解决方案 [转]
Ajax中文乱码原因分析及解决方案 [转]
关于 Nutch 的一个问题: 中文乱码
解决Linux下Java中文乱码问题
C#解决Informix中文乱码问题
我的乱码问题处理汇总
java乱码问题网上总结,非常不错
jni中字符转换中文乱码的处理方法Lcm
Ajax乱码解决方案
java中文乱码问题的原因及解决(转载)
commons-fileupload 上传时的中文乱码问题
Tomcat中文乱码问题的原理和解决方法
解决linux下java程序(例如applet)中文乱码问题
安装moodle,中文显示乱码问题的完美解决
完美解决windows 7 RC 英文版中文乱码问题
【转贴】这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享! 摘自中国java开发网
我的乱码问题处理汇总 - - Java - JavaEye论坛
我的乱码问题处理汇总 - - Java - JavaEye论坛
关于中文乱码问题的补充,主要正对URL参数有中文的问题。
perl mysql中文乱码
MySql中文乱码解决方案