怎么解决mysql插入数据乱码
怎么解决mysql插入数据乱码
在mysql插入数据后显示乱码的解决方法:
使用语句 show variables like 'character%'; 来查看当前数据库的相关编码集:
可以看到 mysql 有六处使用了字符集,分别为:client 、connection、database、results、server 、system。
其中与服务器端相关:database、server、system(永远无法修改,就是utf-8);
与客户端相关:connection、client、results 。
保证每一项的编码统一就不会产生乱码,当然支持中文的话也可以改成gbk,gb2312,utf-8等,建议是utf-8。在mysql中默认字符集是latin1,他是不支持中文的
与客户端相关:connection、client、results 。字符集可以通过set names utf8; 或者 set names gbk;进行修改数据库的编码集。
设置完成后即可解决客户端插入数据或显示数据的乱码问题了。
上述方法只可以在当前窗口有效,若要设置一直有效可以使用下面的方法解决;
在 mysql 的安装目录下有一个 my.ini 配置文件(linux下是/etc/my.cnf),通过修改这个配置文件可以一劳永逸的解决乱码问题。
在这个配置文件中 [mysql] 与客户端配置相关,[mysqld] 与服务器配置相关。默认配置如下:
[mysql] default-character-set=utf8 [mysqld] character-set-server=utf8
相关文章
- SQL SELECT 语句
- SQL SELECT DISTINCT 语句
- SQL WHERE 子句
- SQL DELETE 语句
- SQL SELECT TOP, LIMIT, ROWNUM 子句
- SQL LIKE 操作符
- SQL JOIN 关键字
- SQL RIGHT JOIN 关键字
- SQL FULL OUTER JOIN 关键字
- SQL SELECT INTO 语句
- SQL CREATE DATABASE 语句
- SQL CREATE TABLE 语句
- SQL 约束(Constraints)
- SQL NOT NULL 约束
- SQL UNIQUE 约束
- SQL PRIMARY KEY 约束
- SQL FOREIGN KEY 约束
- SQL CHECK 约束
- SQL AUTO INCREMENT 字段
- SQL HAVING 子句