您当前的位置: 首页 >  sql

梁云亮

暂无认证

  • 3浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MySQL编码问题

梁云亮 发布时间:2022-04-21 00:05:43 ,浏览量:3

命令行操作sql乱码问题
mysql> INSERT INTO t_stu VALUES(1,'张三','男');
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'sname' at row 1
修改my.ini配置文件
在路径:C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 找到my.ini文件

修改内容1:
	找到[mysql]命令,大概在63行左右,在其下一行添加 
		default-character-set=utf8
修改内容2:
	找到[mysqld]命令,大概在76行左右,在其下一行添加
		character-set-server=utf8
		collation-server=utf8_general_ci

修改完毕后,重启MySQL57服务

查看编码命令

show variables like 'character_%';
show variables like 'collation_%';

在这里插入图片描述 在这里插入图片描述

  • 如果是以上配置就说明对了
命令行操作sql仍然乱码问题
mysql> INSERT INTO t_stu VALUES(1,'张三','男');
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'sname' at row 1

原因:按照刚才的配置,服务器端认为你的客户端的字符集是utf-8,而实际上你的客户端的字符集是GBK。 在这里插入图片描述

查看所有字符集:SHOW VARIABLES LIKE ‘character_set_%’; 在这里插入图片描述 解决方案,设置当前连接的客户端字符集 “SET NAMES GBK;”

set names gbk;是为了告诉服务器,客户端用的GBK编码,防止乱码。 在这里插入图片描述

有的时候,这样还不能解决,例如,某些win10操作系统环境下,那么修改命令行的属性-》选项-》勾选使用旧版控制台,然后重启电脑 在这里插入图片描述

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0406s