tomcat5中文問題解決之道(原創)
在tomcat5中發現了以前處理tomcat4的方法不能適用於處理直接透過url提交的請求,上網找資料終於發現了最完美的解決辦法,不用每個地方都轉換了,而且無論get,和post都正常。寫了個文件,貼出來希望跟我有同樣問題的人不再像我一樣痛苦一次:-)
上傳檔案有問題,只好直接貼了,難看點:-)
-------------------
Tomcat 5中文問題
author:kiss__sky@163.com
-------------------
問題描述:
1 表單提交的資料,用request.getParameter(“xxx”)返回的字串為亂碼或者??
2 直接透過url如http://localhost/a.jsp?name=中國,這樣的get請求在服務端用request. getParameter(“name”)時返回的是亂碼;按tomcat4的做法設定Filter也沒有用或者用request.setCharacterEncoding("GBK");也不管用
原因:
1 tomcat的j2ee實現對錶單提交即post方式提示時處理引數採用預設的iso-8859-1來處理
2 tomcat對get方式提交的請求對query-string 處理時採用了和post方法不一樣的處理方式。(與tomcat4不一樣,所以設定setCharacterEncoding(“gbk”))不起作用。
解決辦法:
首先所有的jsp檔案都加上:
<%@ page contentType="text/html;charset=gb2312"%>
1 實現一個Filter.設定處理字符集為GBK。(在tomcat的webapps/servlet-examples目錄有一個完整的例子。請參考web.xml和SetCharacterEncodingFilter的配置。)
1)只要把%TOMCAT安裝目錄%/ webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class檔案拷到你的webapp目錄/filters下,如果沒有filters目錄,就建立一個。
2)在你的web.xml里加入如下幾行:
3)完成.
2 get方式的解決辦法
1) 開啟tomcat的server.xml檔案,找到<connector>區塊,加入如下一行:
URIEncoding=”GBK”
完整的應如下:
2)重啟tomcat,一切OK。
執行如下jsp頁頁測試是否成功
測試結果如果你輸入文字框或者點超鏈都會顯示:你提交了”中國”,說明成功!!!!!
特別感謝下面這篇帖子,幫我解決了中文問題.最後祝大家好運!!!
參考網址:
http://www.javaworld.com.tw/jute/post/view?bid=9&id=44042&sty=1&tpg=1&age=0
上傳檔案有問題,只好直接貼了,難看點:-)
-------------------
Tomcat 5中文問題
author:kiss__sky@163.com
-------------------
問題描述:
1 表單提交的資料,用request.getParameter(“xxx”)返回的字串為亂碼或者??
2 直接透過url如http://localhost/a.jsp?name=中國,這樣的get請求在服務端用request. getParameter(“name”)時返回的是亂碼;按tomcat4的做法設定Filter也沒有用或者用request.setCharacterEncoding("GBK");也不管用
原因:
1 tomcat的j2ee實現對錶單提交即post方式提示時處理引數採用預設的iso-8859-1來處理
2 tomcat對get方式提交的請求對query-string 處理時採用了和post方法不一樣的處理方式。(與tomcat4不一樣,所以設定setCharacterEncoding(“gbk”))不起作用。
解決辦法:
首先所有的jsp檔案都加上:
<%@ page contentType="text/html;charset=gb2312"%>
1 實現一個Filter.設定處理字符集為GBK。(在tomcat的webapps/servlet-examples目錄有一個完整的例子。請參考web.xml和SetCharacterEncodingFilter的配置。)
1)只要把%TOMCAT安裝目錄%/ webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class檔案拷到你的webapp目錄/filters下,如果沒有filters目錄,就建立一個。
2)在你的web.xml里加入如下幾行:
<filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <p class="indent"> |
3)完成.
2 get方式的解決辦法
1) 開啟tomcat的server.xml檔案,找到<connector>區塊,加入如下一行:
URIEncoding=”GBK”
完整的應如下:
<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK" /> <p class="indent"> |
2)重啟tomcat,一切OK。
執行如下jsp頁頁測試是否成功
<%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.util.*"%> <% String q=request.getParameter("q"); q = q == null? "沒有值" : q; %> <HTML> <HEAD><TITLE>新聞列表顯示</TITLE> <META http-equiv=Content-Type content="text/html; charset=gb2312"> <META http-equiv=pragma content=no-cache> <body> 你提交了: <%=q%> <br> <form action="tcnchar.jsp" method="post"> 輸入中文:<input type="text" name="q"><input type="submit" value="確定"> <br> <a href="tcnchar.jsp?q=中國">透過get方式提交</a> </form> </BODY></HTML> <p class="indent"> |
測試結果如果你輸入文字框或者點超鏈都會顯示:你提交了”中國”,說明成功!!!!!
特別感謝下面這篇帖子,幫我解決了中文問題.最後祝大家好運!!!
參考網址:
http://www.javaworld.com.tw/jute/post/view?bid=9&id=44042&sty=1&tpg=1&age=0
相關文章
- RocetMQ搭建攻略和問題解決之道MQ
- 位運算解決多標籤問題【原創】
- 【原創】視訊+文字:詳解VBA解決數獨問題
- 解決中文亂碼問題
- MySQL 中文 like 問題解決MySql
- springmvc 解決中文亂碼問題SpringMVC
- MySql中文亂碼問題解決MySql
- Jmeter 解決中文亂碼問題JMeter
- js解決url中文亂碼問題JS
- 解決plsql中中文亂碼問題SQL
- 資料倉儲的效能問題及解決之道
- matplotlib中文報錯問題及解決方案
- phantomjs截圖中文亂碼問題解決JS
- [轉帖]使用NMT和pmap解決JVM資源洩漏問題原創JVM
- 解決zabbix圖形化中文亂碼問題
- LiveCharts中文顯示亂碼問題的解決Echarts
- 解決Url帶中文引數亂碼問題
- Sublime Text 3 中文亂碼問題的解決
- python json.dumps中文亂碼問題解決PythonJSON
- 雲伺服器中文亂碼問題解決伺服器
- SqlServer資料庫中文亂碼問題解決SQLServer資料庫
- 完美解決jspdf各種中文亂碼問題JS
- 【原創】談談redis的熱key問題如何解決Redis
- TKE 容器網路中的 ARP Overflow 問題探究及其解決之道
- Mysql中文亂碼問題的最佳解決方法MySql
- 解決Eclipse中文註釋部分亂碼的問題Eclipse
- URL地址中的中文亂碼問題的解決
- 【原創】分散式之一行程式碼解決快取擊穿問題分散式行程快取
- IDEA裡Tomcat Console日誌中文亂碼問題解決IdeaTomcat
- 解決PHP匯出CSV檔案中文亂碼問題PHP
- 解決Ubuntu 18.04中文輸入法的問題Ubuntu
- SSM解決中文存入資料庫亂碼問題(記錄自己的問題)SSM資料庫
- 克勞德·夏農(資訊理論之父):天才的解決問題之道
- whisper v3 finetune 中文亂碼問題的解決方案
- linux 安裝字型解決JAVA圖形中文亂碼問題LinuxJava
- 常見php與mysql中文亂碼問題解決辦法PHPMySql
- 解決ajax get post方式提交中文引數亂碼問題
- python爬蟲爬取網頁中文亂碼問題的解決Python爬蟲網頁
- 【slam】解決ubuntu無法透過拼音輸入中文的問題SLAMUbuntu