项目场景:
直接向数据库中插入中文记录会出现错误!!!
问题描述:
Mysql 插入中文错误:Incorrect string value: ‘\xE7\xA8\x8B\xE5\xBA\x8F…’ for column ‘course’ at row 1
原因分析:
查看mysql的字符集:show variables where Variable_name like ‘%char%’;
在看了字符集后发现自己的没问题,百度后知道是gbk的问题。
注意其中这个set 变量
character_set_client
主要用来设置客户端使用的字符集。
我的是uft8,所以客户端识别不了,无法发送到后台服务端。
大致理解如下
解决方案:
show variables like '%character%'; --查看数据库中与字符集相关参数:
需要将MySQL数据库服务器中的客户端部分的字符集改为gbk。
找到MySQL的安装路径:my.ini文件,修改文件中[client]下的字符集
修改时先把my.ini文件移动到桌面,进行修改。
如下所示,为你所找。
[client]
port=3306
[mysql]
default-character-set=utf8
只修改下面的
default-character-set=utf8
改为
default-character-set=gbk
* 重新启动MySQL的服务器
* 命令行输入 services.msc
* 或者我的电脑--->右键管理---->服务与应用程序中的服务---->找到MySQL
* ---->停止服务——>再重新启动
我的情况就是所有的字符集set 变量基本都是utf8,轻松一点。
当然你也可以直接修改。
修改mysql的字符集命令:
* mysql> set character_set_client=utf8;
*
* mysql> set character_set_connection=utf8;
*
* mysql> set character_set_database=utf8;
*
* mysql> set character_set_results=utf8;
*
* mysql> set character_set_server=utf8;
*
* mysql> set character_set_system=utf8;
*
* mysql> set collation_connection=utf8;
*
* mysql> set collation_database=utf8;
*
* mysql> set collation_server=utf8;
在b站所看,
https://www.bilibili.com/video/BV1mE411h7Co
第132个视频中。