关于Java web开发中的中文乱码问题

前段时间用Java web技术做了一个小小的微博系统,在做的过程中发现了许多中文乱码问题,一下是避免乱码问题的几点建议:

1、在整个系统开发过程中,从前端到后台必须采用统一的中文编码方式,如gb2312,UTF-8等,否则会出现意想不到的系统错误。

(1)、在JSP页面中设置编码方式,<% @ page contentType = " text/html;charset=gb2312 "   %>

或者在server.xml配置文件来实现。
< Connector port ="8080"      maxHttpHeaderSize ="8192"
               maxThreads ="150"  minSpareThreads ="25"  maxSpareThreads ="75"
               enableLookups ="false"  redirectPort ="8443"  acceptCount ="100"
               connectionTimeout ="20000"  disableUploadTimeout ="true"   URIEncoding ="gb2312" />

(2)、在servlet中设置编码方式:request.setCharacterEncoding("gb2312");

response.setCharacterEncoding("gb2312");

 

(3)、在创建数据库时选择中文编码方式gb2312或utf-8。


2、在提交表单或页面跳转时,如果通过URL传值,则只能传递英文或数字,否则在后台你将无法获取你期望的值。如果采用这种传值方法:

         解决方法:首先将得到的值要再用iso-8859-1编码得到原文后,再进行用utf-8(看具体页面的charset是什么utf-8或gbk)进行解码即可。new String(strCn.getBytes(“ISO-8859-1”),“UTF-8”)。

3、数据库乱码问题,如果采用MySQL数据库,那么他的默认编码是拉丁文,第一种解决方法是打开数据库的配置文件my.ini,将编码方式改为utf8,或gb2312;第二种方法是通过JDBC直接链接数据库的时候,配置的代码如下:jdbc:mysql://localhost:3306/workshopdb? useUnicode=true&characterEncoding=GBK,这样将会避免中文乱码问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值