温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL中文出现乱码怎么解决

发布时间:2021-08-19 20:37:59 来源:亿速云 阅读:123 作者:chen 栏目:数据库

本篇内容主要讲解“MySQL中文出现乱码怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL中文出现乱码怎么解决”吧!


 
MYSQL经典问题: 
  (ERROR 1366 (HY000): Incorrect string value:'\xD5\xD4' for column 'name' at row 1)
网上有好多解决中文乱码的贴, 大致都讲的是修改 %MYSQL_DIR%/my.ini    default-character-set=gbk 什么的
我试过了, 不起作用. (可能是我没处理到位)
下面是我琢磨了半天,得到的结果, 不知道是否值得提倡, 但目的绝对达到了:
登陆mysql --->
进入相应---> 
输入命令: show variables like '%char%';
得到:   www.2cto.com  
+--------------------------+--------------------------+
| Variable_name      |      Value        |
+--------------------------+--------------------------+
| character_set_client        utf8        
| character_set_connection     utf8 
| character_set_database      latin1 
| character_set_filesystem     binary 
| character_set_results       utf8 
| character_set_server      utf8 
| character_set_system       utf8
| character_sets_dir       D:\MySQL\share\charsets\ 
+--------------------------+--------------------------+
 
如果出现上述情况则需要更改数据库编码: 两种方法, 第一种是一次搞定, 第二种只对当前连接有效,断开连接,恢复更改前状态
 方法1: alter database 数据库名 charset utf8;
 方法2:  set character_set_database = utf8;
再用命令: show variables like '%char%';
+--------------------------+--------------------------+
| Variable_name      |      Value        |
+--------------------------+--------------------------+
| character_set_client        utf8        
| character_set_connection     utf8   www.2cto.com  
| character_set_database      utf8 
| character_set_filesystem     binary 
| character_set_results       utf8 
| character_set_server      utf8 
| character_set_system       utf8
| character_sets_dir       D:\MySQL\share\charsets\ 
+--------------------------+--------------------------+
 
此时编码已经一致, 但是,对数据库中的表进行插入中文字符操作, 仍然会报 : ERROR 1366 (HY000)
---> set character_set_client = gbk;  设置插入时接收的编码为GBK, 这样就可以插入中文了
此时中文字符已经可以插入, 但查询结果却还是乱码, 再更改一处即可:
---> set character_set_results = gbk; 设置输出结果的编码为GBK
注: 这样的设置只对当前连接有关, 连接断开, 这些设置恢复数据库默认设置状态,因此,如果需要,每次连接都得设置!
另外:ERROR 1366 (HY000)错误主要出现于控制台(cmd/黑窗口) 执行SQL语句插入中文时弹出,
用-front 软件插入时不会报字符问题, java通过JDBC连接数据库执行executeUpdate("insert 语句") 中文也能成功插入数据且不会报错!
 
PHP解决乱码问题只需在连接后加入mysql_query("set names 'gbk'") 就OK!
如: $conn = mysql_connect("localhost","root",""); 
  mysql_query("set names 'gbk'");

到此,相信大家对“MySQL中文出现乱码怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI