mysql中数据库乱码
2019-04-11 本文已影响0人
敏姐姐_e9d0
想必不少人使用mysql数据库时发现查询数据时出现数据库乱码问题,出现乱码自己又无法解决。
一. 导入数据库
通常避免数据库乱码问题采用导入数据库到MYSQL时用路径文件导入。
source E:user\abc.sql
abc.sql文件中大多数是utf8编码,与mysql编码环境一致。一般采用此命令导入数据库即可避免数据库乱码。
当然,若是自己的mysql使用gbk编码,使用命令导入后用set names gbk即可。
二.添加数据乱码
insert into table() values ();
ERROR 1366(22007): Incorrect string value: '\xB3\xA4\xB3\xC7' for column 'name' at row 1
使用此命令结果无法正常的插入数据。什么因素导致的该问题呢?
1.我们可以先查一下出现乱码表的字符集
SHOW FULL COLUMNS FROM sys_tour;
2.能够正确导入的表的字符集呢?
SHOW FULL COLUMNS FROM sys_logs;
3.发现插入数据乱码问题
mysql中utf8字符MaxLen=3,但是某些unicode字符转成utf8编码之后有4个字节,需要更改字符集,才能插入.
alter table sys_tour convert to character set utf8;
4.再次查询乱码表的字符集
SHOW FULL COLUMNS FROM sys_tour;
5.使用插入数据信息命令插入数据
上述操作可以正确解决乱码问题,数据库可正常使用。由于此命令只能更改单个表的字符集。若是表较少可使用此命令进行修改。大量表格使用此命令较为繁琐。