Mysql数据乱码完美解答

来源:互联网 发布:2017软件测评师真题 编辑:程序博客网 时间:2024/06/17 23:32

1、首先打开mysql数据库,输入命令show variables like ‘%char%’;

下面我大致的来解释一下图一的变量名称的含义
这里写图片描述(图1)
character_set_client 来自客户端的语句的字符集,采用这个字符 集对客户端语句进行解析
character_set_connection 用于没有字符集导入符的文字和数字-字符串转换
character_set_database 默认数据库使用的字符集。当默认数据库 更改时,服务器则设置该变量。如果没有默认数据库,变量的值同character_set_server
character_set_results 用于向客户端返回查询结果的字符集
character_set_ server 服务器的默认字符集
character_set_system 服务器用来保存识别符的字符集。该值一定是utf8
character_sets_dir 字符集保存的路径

2、我们看到my.ini配置文件

这里写图片描述

这里面有很多#开头的,这些都是注释可删除也可以不删除,为了大家可以看的方便我都删除了。
这里写图片描述

这里看到用”[ ]”括起来的代表不同的位置的配置
[mysql]是老版本的数据库,[client]客户端,[mysqld]是新版本的数据库配置
为了防止中文乱码我们只需要改[mysql]中的default-character-set=utf8或gbk,[mysqld]中的character_set_ server是指的服务器的默认字符集不需要更改。

3、如果你使用HSql的话那么在配置数据库连接时一定要在url后面传递两个参数useunicode=true&characterEncoding=utf8

这里写图片描述