设为首页 收藏本站
查看: 711|回复: 0

[经验分享] 中文乱码_Tomcat_解决方案

[复制链接]

尚未签到

发表于 2017-1-23 09:51:07 | 显示全部楼层 |阅读模式
  缘由:
  大凡做过几年开发的,尤其是与Web相关的,估计没有一个例外,都要碰到中文乱码问题。甚至连我们公司经验丰富的Website组都要在这个上面栽跟头。
  最近要为CIS系统的UI增加些Tool功能,居然又碰到这个问题。
  仔细检查,发现我已经遵守了防止中文乱码的铁律:前后端全部设置UTF-8格式。也就是说我的页面不论是php/html/jsp都已经设置UTF-8格式,服务端也设置了统一的格式UTF-8。
  同时,按照我的测试印象,前两天本页面还没有发现这个问题,怎么今天就报错了呢?
  经过一番google与测试,结果如下。
  1. 前提遵守防止中文乱码的铁律:前后端全部设置UTF-8格式
  2. Tomcat中,form提交需要用post,而get方法对中文依旧乱码
  我测试时为了利用get方法的方便,居然忘记了改回去。
  3. 别的Server如Jetty等,需要测试和参考文档,一些细节请仔细读下面思考
java form submit 中文亂碼問題
  這個問題陸續遇到幾次了,始終知其然而不知其所以然。這是最近一次的處理案例:
  環境
  OS: CentOS 5.2 (utf-8)
  Database: MySQL 5 (utf-8)
  Application server: Tomcat 6
  網頁
  <input type=text name=keyword>
  程式
  String keyword=request.getParameter(“keyword”);
  網頁的 input 輸入中文 submit 後由以上程式碼接取,原本的中文都變成亂碼。解決的方法是改用以下的接取程式碼,將收到的字串重新編碼。
  String keyword=new String(request.getParameter(“keyword”).getBytes(“iso8859-1″),”utf-8″);
  Why
  Tomcat 在處理 GET、POST 參數時預設是採用 ISO-8859-1 編碼,請參考此 網址URIEncoding 部份的說明,所以第2 段程式才會 work,請隨著您的作業系統及資料庫編碼設定,調整接取參數的程式碼。
  Browser
  以上的例子是送一個 keyword 到 tomcat web application 查詢資料,後來出現另一個問題,從 Firefox送出中文的 keyword 可以正確的查到資料,Explorer 卻查不到,經過測試和查詢相關資料後發現,從 Explorer 送出keyword 前要用 javascript encodeURIComponent()編碼後再送出才會正常查到資料。
  2008.11.27 加註
  上面情形是發生在未指定 form 的 method,根據規格預設會以 get 傳送資料,Tomcat 的文件也沒有說明URIEncoding 是會針對 get 或 post method 作處理。今天又遇到 form submit中文亂碼問題,這次也不用重新編碼參數了,直接把 form method 設定 post,問題就解決了。看來 submit 的 form有中文時,用 post method 會是比較好的選擇。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-332361-1-1.html 上篇帖子: Tomcat访问日志分析工具 下篇帖子: Tomcat连接池原理讨论
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表