一、MySQL 查询表数据中文乱码问题及解决方法
DOS命令行下 连接 MySQL 数据库,进行 查询表数据操作 出现中文乱码,
如下图:
出现这种情况的原因是:character_set_results = utf8;
可以使用语句查询 character_set_results 的参数,查询语句:show variables like 'character%';
查询结果如下图:
解决办法有两种,一种是临时改变 results 参数,另一种是在MySQL安装目录下的 my.ini 文件中修改 results 参数。
本人使用第一种,个人感觉修改 my.ini 文件中的参数,会导致别的数据库或表数据出现异常,只是个人看法,毕竟我只是刚刚开始学习MySQL。
第一种解决办法:
直接在dos命令行下输入:set character_set_results=gbk;
就可以了,当然这只是临时修改,作用区域就只在当前 命令窗口下。这时你可以再尝试 查询语句。
结果如下图:
第二种解决办法:
修改 MySQL 目录下 my.ini 文件对应参数。
找到如图所示的 my.ini 文件打开进行修改。
把 utf8 改为 gbk 就OK了。修改之后重启 MySQL服务器。
使用 services.msc 命令打开服务 找到 MySQL 服务器 重启就可以。
二、插入中文 报错Incorrect string value问题解决方法
错误如下图所示:
出现这种错误的原因是:character_set_client = utf8;
可以使用语句查询 character_set_client 的参数,查询语句:show variables like 'character%';
查询结果可以参考上一个问题 图片。
解决办法有两种:一种 临时修改,另一种 在MySQL安装目录下 修改 my.ini 文件参数。
注意点在上一个问题中已经提到过。所以在这直接写解决办法。
第一种解决办法:
直接在dos命令行下输入:set character_set_client=gbk; 然后再次执行 插入中文数据操作。
操作如下图:
注意:这只是临时修改,作用域只在当前命令提示框。
第二种解决方法:和 上一个问题的解决方法相同,一模一样,不用担心什么。在这我就不再重复。望大家谅解。
最后,以上解决问题的方法,只是本人的个人观点,也参照了网上许多前辈们的解决问题的办法。如果有不周到的地方,还望谅解。谢谢大家观看!