在编写项目中,出现乱码问题有比较多的地方,当前笔记为在项目中没有乱码,在存储mysql 中出现乱码。
1、通过下面语句查看数据库、表的客户端、服务端编码是否一致,是否能存储中文。
show variables like "%colla%";show variables like "%char%";
2、如果当前编码一致且支持存储中文,则不是数据库编码问题,否则有可能是数据库编码不一致导致的。
查看安装mysql时路径中的my.ini文件查看default-character-set设置,有两处一个客户端一个服务端。
将两处都改为utf8保存后重新启动mysql服务
3、通过下面两句将之前已经创建的数据库、表的的编码修正为指定编码,重新从项目中保存数据,这时发现数据库存储的中文已经不是乱码了。
#SET character_set_client='utf8';
#SET character_set_connection='utf8';
#SET character_set_results='utf8';
ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;