J2EE中文乱码的解决方案

转贴为主,中间夹一部分评论(红色的)

 

原帖地址:http://wanglei8.javaeye.com/blog/265770

使用的构建平台:Tomcat5.5+JDK1.5+Eclipse3.4.1

1.数据库建立为UTF-8格式
2.项目右键属性为UTF-8格式
3.所有页面申明为UTF-8
4.JDBC URL设为:UTF-8
jdbc:mysql://localhost:3306/company?useUnicode=true&characterEncoding=utf-8
5.数据库Driver选择UTF-8格式
6.Tomcat编码改成UTF-8
在server.xml里面增加URIEncoding="UTF-8"

Xml代码 其实个人测试了一下,到这一步我的系统里乱码已经解决了,无论使用GET方式还是POST方式,但是保留下面的部分,一是尊重原作者,二是万一以后遇到POST方式出乱码好有个应对方式。


7.加编码过滤器SetCharacterEncodingFilter.java 

注意:这个部分是对应于表单用POST来提交的情况,用POST提交时URL部分不会出现诸如param=value&param=value之类的东西,这样的话登录页面相对会安全点或者说漂亮一点
注意:根据所在包名确定具体使用哪个包

Java代码
 在web.xml里面映射配置
Xml代码



关于编码,其实很奇怪,JAVA作为一个跨平台的东西,为什么J2EE里面诸如JDBC还有Tomcat这些设计者不用UTF-8之类的跨语言编码方式,JAVA最大的卖点在跨平台,既然这样,如果语言都不跨怎么跨平台?(很简单我一个英文WIN上开发的东西结果没注意这点放到一个日文或者中文的WIN上出乱码,这跟跑不动有什么区别?)。做东西的时候无论是C/C++还是JAVA个人都比较推崇Unicode这一编码方案,用C/C++的时候图简单可以使用UTF-16,JAVA则可以使用UTF-8,当然所有的项目都统一使用UTF-8更好。理由很简单啊,如果使用Tomcat默认的ISO9958-1那我要是要输入点中文怎么办?要是用gb2312或者gbk要是把项目从我的中文XP移植到一台英文的LINUX上不是要吐血?所以最好的方案就是统一使用UTF-8!

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值