使用终端查询mysql数据库,由于编码不统一,因此要先做如下设置编码操作
mysql>set names gbk;
set names gbk只可以修改character_set_client、character_set_connection、 character_set_results的编码方式,并且这种修改是窗口级别的,只针对本窗口有效,打开另外一个窗口修改无效
环境:
项目:utf8
数据库:utf8
如果出现乱码问题,先做一下操作。
1、查看各个设备编码格式。
(1)、查看项目编码,
右击项目——》properties
(2)、查看数据库编码
show variables like 'character%';
character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。
这个如果一致,还是出现乱码就是连接问题了。(JDBC)
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
这个如果一致,还是出现乱码就是连接问题了。(JDBC)
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
&autoReconnect=true&failOverReadOnly=false
useUnicode 是否使用Unicode字符集 如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true false
characterEncoding 当useUnicode设置为true时,指定字符编码
autoReconnect 当 数据库 异常中断时,是否自动重新连接
failOverReadOnly 自动重连成功后,连接是否设置为只读
在使用数据库连接池的情况下,最好设置如下两个参数:
autoReconnect=true&failOverReadOnly=false
总结:
当数据库编码,项目编码和连接的编码一致的时候就完全没有编码问题了。
注: (创建时用这个)CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE utf8_general_ci
useUnicode 是否使用Unicode字符集 如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true false
characterEncoding 当useUnicode设置为true时,指定字符编码
autoReconnect 当 数据库 异常中断时,是否自动重新连接
failOverReadOnly 自动重连成功后,连接是否设置为只读
在使用数据库连接池的情况下,最好设置如下两个参数:
autoReconnect=true&failOverReadOnly=false
总结:
当数据库编码,项目编码和连接的编码一致的时候就完全没有编码问题了。
注: (创建时用这个)CREATE