在编写项目中,出现乱码问题有比较多的地方,当前笔记为在项目中没有乱码,在存储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;

posted on 2017-09-11 11:30  轮回之牟  阅读(149)  评论(0编辑  收藏  举报