prototypes JSON 中文乱码问题 (UTF-8 GB2312 GBK)

prototypes JSON 中文乱码问题 (UTF-8 GB2312 GBK)

主要原因是 Ajax 调用时使用的是UTF-8编码,而被调用方一般默认是 GB2312/GBK 编码
只需要在被调用方设置请求的编码格式为UTF-8即可
request.setCharacterEncoding("UTF-8");
而返回头则不需要修改。

xxx.jsp

<%@ page language="java" c pageEncoding="GBK"%>
<%
request.setCharacterEncoding("UTF-8");
。。。。
%>

Tomcat 5.5 下通过

总结如下:
1 如果文件里面的charset='UTF-8' 那么文件一定存储为 UTF-8编码,dreamweaver默认为gb2312编码的
2 Ajax是采用utf-8编码的
3 在服务器端,设置编码的 request.setCharacterEncoding 语句一定要在任何一个getParameter() 语句之前,否则此语句实效
比如
<%

String action = request.getParameter("action");
....
request.setCharacterEncoding("UTF-8"); // 此语句不起作用了,切记
%>
4 如果是GET/POST混合处理的程序,可能需要如下 代码 在程序的最开始
<%
if("POST".equals(request.getMethod())){
request.setCharacterEncoding("UTF-8");
}
%>
这对于自己调用自己的ajax程序非常重要,普通GET调用时为gb2312编码,而在POST Ajax调用时为UTF-8编码

5 建议文件编码全部采用UTF-8比较好,只需在程序最开始增加
request.setCharacterEncoding("UTF-8")即可了,不需要任何特殊处理,所有程序,无论是否ajax,都是正确的!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值