java中文解码_java中文转码解码
在Post方式中
//第一種:對于該方法全局有效
response.setContentType("text/html;charset=GBK");
response.setCharacterEncoding("GBK");
request.setCharacterEncoding("GBK");
//第二種:只對要轉(zhuǎn)碼的特定字符串有效
String name= request.getParameter("name");
String encodingString = new String(name.getBytes("ISO-8859-1"),"GBK");
System.out.println(encodingString);
//第三種:為該項目配置一個過濾器,對該項目全局有效
//過濾器請看CharacterEncodeingFilter類 和 web.xml里的配置
步驟:
1.編寫CharacterEncodeingFilter類(詳見例子)
2.在web.xml中配置該類的servlet信息和初始化信息
GET方式訪問URL時參數(shù)的編解碼工作:編碼/傳輸/解碼
基本過程:
public static void main(String args[]){
String tsptString=”中文”;
//1.編碼(瀏覽器會按網(wǎng)頁的編碼方式進行編碼)
String tempString=URLEncoder.encode(tsptString,”GBK”);
//2.傳輸
System.out.println(tempString);
//3.解碼(由Tomcat容器按照默認編碼方式自動解碼)
String resultString=URLDecoder.decode(tempString,”ISO-8859-1”);
//查看
System.out.println(resultString);
}
上面的方式會因為編解碼方式的不統(tǒng)一導致亂碼,可以通過下面的方式來統(tǒng)一編碼方式:
1.客戶端指定網(wǎng)頁編碼
a)?? 頁面指定GBK方式: submit.jsp教程 中 ,Servelet中Response.setContentType(“text/html; charset=GBK”);
b)?? 瀏覽器指定GBK方式:在頁面上右擊->編碼->選擇新編碼->GBK(無法依靠用戶為你的頁面指定編碼,但要預防用戶通過這種方法改變你的編碼方式
2.服務(wù)端改變編碼
a)?? 改變Tomcat的默認編碼方式:打開tomcat下的conf文件夾下的service.xml查找8080,添加 URIEncoding='GBK',如下: ,實例中此時第三步的默認編碼方式就變成了GBK
b)?? 不使用TOMCAT的默認編碼方式在服務(wù)器端處理參數(shù),例如在Servlet中
protected void service(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
String param=arg0.getParameter("param");
//UTF-8為指定的頁面編碼方式,ISO-8859-1為TOMCAT的默認解碼方式(URIEncoding)
param =new String(param.getBytes("ISO-8859-1"),"UTF-8");
System.out.println(param);
//...
}
######這篇文章總結(jié)的很好:
http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/index.html######回復
@季_苗 : ibe的網(wǎng)址,加載慢而已######回復
@季_苗 : 額,為毛我可以打開######你好,這個頁面打不開
總結(jié)
以上是生活随笔為你收集整理的java中文解码_java中文转码解码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件工程实践——软件评测
- 下一篇: 介绍几款iPhone手机原型设计的工具