mysql的乱码解决

来源:互联网 发布:小米抢购技巧知乎 编辑:程序博客网 时间:2024/05/18 00:46

mysql 支持几十种编码方式,并且默认的编码latinl对中文支持不太好,gb2312是针对中午的编码方式,每个汉字占2个字节,解析比较简单,但是仅能编码 中文字符,中文网站往往采用gb2312,,如baidu,gbk类似于gb2312,但是比gb2312编码更多的中文以及中文字符,uft-8能够编码目前为止任意的语言,国际化的网站采用utf-8


1从控制台修改编码

            mysql->alter database nj character set utf8;

              查看当前数据库编码的方式断的命令:show variables like 'character_set_database';

2从配置文件修改编码

          用记事本打开mysql目录下的my.ini文件(c:\program files\mysql\mysql server 5.0\my.ini)找到下面一句话:

            default-character-set=latinl

            应该有这行代码,将编码方式latinl都改为utf8即可

3url中指定编码方式

              另外,还需要指定jdbc连接的编码方式,方法是修改链接url

            Connection conn=DriverManager.getConnerction("jdbc:mysql://localhost:3306/nj?unicode=true&characterEncoding=utf-8",'root','admin');

做完上述设定之后,一般就没有乱码了,如果还有乱码,检查是否对request进行了编码,如果没有,从request取到的字符串也会乱码,注意jsp页面编码,

request编码,response编码,数据库编码必须一致

Tomcat的server.xml中也要修改,为get方式获取数据添加urlEncoding参数,指定utf-8编码,默认为ISO-8859-1

<Connector port="8080" protocol="http/1.1"

                       connectionTimeout="20000"

                     redirectPort="8443" urlEncoding="utf-8"/>

原创粉丝点击