項目使用的是UTF-8編碼,用get方式提交的時候發現URL中如果有中文,響應頁面將得到亂碼。然后在tomcat的server.xml中添加了get方式和url訪問解決亂碼的方式useBodyEncodingForURI="true",
并在響應頁面中添加了request.setCharacterEncoding("GB2312");//亂碼轉換
response.setContentType("text/html;charset=GB2312");
response.setCharacterEncoding("GB2312");但是得到的還是亂碼。
后來把項目改成GB2312編碼,get方式提交可以得到正常的中文。后來通過百度和googl的編碼得到了啟發。百度中輸入中文搜索,url中顯示的是中文。google輸入中文進行搜索,url中顯示的是帶%的編碼。說明百度用的是GB2312編碼,中文可以正常解析。google用的是UTF-8編碼,所以需要對中文進行轉碼。
下面是我項目中的解決方案:
1、在請求頁面中把中文參數進行轉碼
如:String content="測試短信";
content=URLEncoder.encode(content,"UTF-8");
2、在接收參數的響應頁面進行中文參數的解碼
如:String message= URLDecoder.decode(request.getParameter,"UTF-8");
經過這次的問題,個人認為還是用GB2312編碼比較省事。
posted on 2011-09-30 11:34
kelly 閱讀(1522)
評論(0) 編輯 收藏 所屬分類:
java