您的位置:首页 > 数据库 > MySQL

MySql中文乱码解决方法

2014-04-17 09:56 309 查看
一、编码基础

1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立;

2.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码;

3.getBytes() 是通过平台默认字符集进行编码;

项目开发中应遵循的标准是,数据库,表,字段和页面或文本的编码要统一。

二、应用

Mysql可以通过命令来查询当前数据库的编码方式

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.5.13, for Win64 (x86)

Connection id:          2
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.5.13 MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:               3306
Uptime:                 1 hour 43 min 11 sec

Threads: 1  Questions: 9  Slow queries: 0  Opens: 33  Flush tables: 1  Open tabl
es: 0  Queries per second avg: 0.1
--------------


我们也可以通过修改my.ini文件来修改编码方式,但是要重启Mysql服务才可生效

default-character-set=utf8

若修改后,程序存入数据库是还出现乱码可以执行以下步骤:

1、连接数据库设置编码

jdbc:mysql://localhost:3306/test?characterEncoding=utf8

java中的常用编码UTF-8;GBK;GB2312;ISO-8859-1;

对应mysql数据库中的编码utf8;gbk;gb2312;latin1

---------------------------

2、数据库连接串中指定字符集URL=jdbc:mysql://localhost:3306/test?user=root&password=root&useUnicode=true&characterEncoding=gbk

这时候问题基本可以解决
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: