今天往mysql数据库插入数据的时候出现乱码问题,在网上查了一下,大家都说要改一下my.ini配置文件中的编码,但是即使改了my.ini中的编码,往数据库中插入数据还是乱码。这时我同事提醒我mysql数据库有一套编码,数据库中的表还有一套对应的编码。我把表的编码一改,终于不出现乱码了。
解决步骤:
1.找到mysql中的配置文件my.ini,我的my.ini是C:\Program Files\MySQL\MySQL Server 5.5中,在my.ini的[mysql]下有这样一句话:
default-character-set=latin1,将这句话修改成 default-character-set=utf8,记住是utf8而不是utf-8,网上有说在这里改成utf-8,结果在重启mysql的时候报1067 的错误。还要将[mysqld]下的character-set-server=latin1改成character-set-server=utf-8。然后再在控制面板——>管理工具——>服务中重启mysql。
2.再在mysql中运行这句话:ALTER TABLE novel_info CONVERT TO CHARACTER SET utf8;其中novel_info是表名。
再插入数据的时候就不乱码了,记住如果光只修改库的编码还不能解决乱码的问题时,还要记得试试修改表的编码。