一 mysql设置字符集(有四处)
环境(选 Best Support For Multilingualism 即UTF8),
库,表,字段
规则如下:
库没有特别指定,就使用环境设置的字符集.
表没有特别指定,就使用库设置的字符集.
字段没有特别指定,就使用表设置的字符集.
一般在建表时都指定表的字符集.最好是把MYSQL环境,库,表设置成一样的字符集.会
减少不必要的麻烦.
MySQL数据库设置
a)windows系统: windows下安装mysql时,编码选择utf-8,查看mysql安装目录下my,ini文件,在[mysqld]段下面加入default-character-set=utf8
二 解决中文乱码
url中加上 "useUnicode=true&characterEncoding=utf8"
new String(request.getParameter("test").getBytes("iso-8859-1"),"GBK")
但这样的代码相信不是一个解决的办法,这样会增加程序的复杂度,
,终于找到了完美的解决方式,在TOMCAT中只需要简单的配置,引入2个文件就可以
轻松搞定。
三 使用过滤器解决中文乱码
在TOMCAT中 webapps/jsp-examples/WEB_INF/classes/filter目录中
找到这2个文件RequestDumperFilter.java,SetCharacterEncodingFilter.java,
复制到filters包下
步骤2:配置WEB.XML
在web.xml里加入这一段(记住在加在display-name项和servlet项之间,因为web.xml
文件头设置的DTD文件限定了各项的顺序)
……
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
……
以后写jsp就像写书本一样,加上
<%@ page contentType="text/html";charset=utf8"%>
<META http-equiv=Content-Type content="text/html";charset=utf8">
四第一原则:所有编码的地方,统一设为UTF-8,这样繁体,简体,日文,韩文。。。通吃了)
一、下载中文文件名文件问题
a)Tomcat:修改Tomcat安装目录下conf/server.xml文件,加上URIEncoding="UTF-8"/
<Connector port="8080" .... URIEncoding="UTF-8"/>
b)JBOSS :安装目录下 server/default/deploy/jbossweb-tomcat55.sar/server.xml
<Connector port="8080" .... URIEncoding="UTF-8"/