prototypes JSON 中文亂碼問題 (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,都是正確的!