中文乱码问题

 

前一段在eclipse下做一个小东东,中文乱码问题很令人头疼,现在把它总结一下。开发环境是eclipse3.0 + tomcat6.0 + mysql server5.0, 字符集统一为utf-8. 我们先从前端页面说起,然后说数据库中的编码问题。

首先,在eclipse菜单“首选项”中,更改“general”中工作区间的文本字符集选项,选为utf-8,这样在新建jsp时,默认的字符集就是utf-8. 然后,新建一个fiter,该文件用来过滤所有的请求,设置其中的编码格式为utf-8.

<filter>
		<description>
		</description>
		<display-name>
		CharacterEncodingFilter</display-name>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>com.cms.filter.CharacterEncodingFilter</filter-class>
		<init-param>
                      <param-name>encoding</param-name>
                      <param-value>utf-8</param-value>
                </init-param>
	</filter>
   

 重要的一点是,在工程下的web.xml中要将字符集过滤器的filter mapping放在其它mapping的前边。

  <filter>
    <display-name>LoginFilter</display-name>
    <filter-name>LoginFilter</filter-name>
    <filter-class>com.cms.filter.LoginFilter</filter-class>
  </filter>
 

应用端的字符集设置工作完成后,我们要设置一下mysql的数据库字符集。首先,我们在mysql安装文件夹下,找到my.ini文件,在这个文件中设置了数据库默认的端口号和字符集:

[client]
port=3306

[mysql]
default-character-set=latin1

在这里,我们可以更改它的默认字符集,如果要使默认字符集为utf-8 , 那么就可以把latin1改为utf8 。my.ini文件中总共需要两处这样相同的改动。更改完成后保存,重启mysql,如果已经建好的数据库被设置的字符集不是utf-8,直接点数据库属性,在里边改过来就行了。这时候我们可以新建一个数据库,它的默认字符集就是utf-8了。

 

 

你可能感兴趣的:(eclipse,mysql,jsp,cms,Web)