关于mysql乱码问题

关于mysql的乱码问题以及mysql与项目协作时出现的乱码问题,今天有同事问起,也因此回顾了一下以往的解决思路并收集起来整理如下

 

1. 找到mysql在本地的安装目录,如d:/program files/mysql/mysql 5.0下,找到my.cnf文件,作如下修改:

    在[client]及[mysqld]分支下分别加入以下内容    default-character-set = utf8

 

2.  建表时,在建表脚本结尾加“ENGINE=InnoDB DEFAULT character SET=utf8”

 

3. 在web.xml中添加filter,具体配置如下:

   <filter>
      <filter-name>encodingFilter</filter-name>
      <filter-class> classmate.database.SetCharacterEncodingFilter</filter-class>
      <init-param>
           <param-name>encoding</param-name>
           <param-value>utf-8</param-value>
      </init-param>
   </filter>
   <!-- Filter Mapping -->
   <filter-mapping>
      <filter-name>encodingFilter</filter-name>
      <url-pattern>/*</url-pattern>
   </filter-mapping>

   至于这里出现的SetCharacterEncodingFilter类,已超出本文范围不作描述,随便google一下就有结果

 

4. 项目中jsp字符集格式须统一为utf-8格式,对于xml文件的字符集没有特定要求

 

5. 服务端的请求字符集格式设置,如

  response.setContentType("text/html;charset=UTF-8") //这条语句慎用

  request.setCharacterEncoding("UTF-8")

 

6. 对于ajax,页面脚本如果需要上传大数据量,例如用xmldoc来包装,则需要在xml中指定字符集

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值