Mysql插入中文错误(二)

    经过(一)中将表与每一列数据都设置成utf8编码后,解决了插入数据库中文报错的问题。但是经检查后发现,插入的中文变成了问号:


    于是乎......百度了很多解决办法,在这里汇总下:

    一、解决方法

    1.在mysql中输入show variables like 'character_set_%'; 其作用是查看所有以character_set_开头的变量的数据编码格式


    初步发现,仍是有很多的变量的数据编码没有该,还是latin1.。。

    出现这种问题的原因有可能是:
    数据库字符集不是utf-8,对应character_set_database常量;
    服务器字符集不是utf-8,对应character_set_server常量;

    程序与数据库的连接不是用utf-8编码,对应character_set_connection常量;

    2.找到安装Mysql的安装目录下的bin目录,点击其中的MySQLInstanceConfig.exe文件,重新走一遍server的配置,一切默认就行,只需要在Character Set环节,要选择character为utf8

    3.再次查询各常量的编码值全部改为utf8,今后再创建数据表全都默认为utf8数据编码,一劳永逸~~

    4.以上三步一般修改完配置一般就没问题了,但是有时会出现在Dos环境下显示仍然乱码,在Navicat中显示正常的情况,此时在Dos环境下Mysql命令行中输入:set names gbk;即可解决!

    

猜你喜欢

转载自blog.csdn.net/weixin_40896352/article/details/80500391