在mysql数据库插入中文值出现的乱码解决

当在MySQL中插入中文值遇到乱码错误时,可通过检查数据库字符集并进行相应设置来解决。首先查看数据库的默认编码,若非UTF-8,需修改配置文件如`/etc/my.cnf`,将`character-set-server`设为`utf8`,然后重启MySQL服务。如果已有数据库编码不匹配,需更改数据库或表的字符集,使用`set names utf8`命令。
摘要由CSDN通过智能技术生成

我们在插入中文值的时候出现了乱码问题:
ERROR 1366 (HY000): Incorrect string value: ‘\xE7\xBF\x81\xE5\xBF\x97…’ for column ‘name’ at row 1

解决:
我们首先通过命令:

show variables like '%char%';
或者
show variables like 'character%';
查看默认的数据库编码集

或者我们直接通过:
show create database 数据库名;
查看我们已经存在数据库的编码集
如果不是utf8,我们可以通过命令
set names utf8;

查看我们的字符集:
此时
此时我们会发现默认的是“Latin1”,我们就需要修改我们的配置文件进行修改,配置成Utf-8.

首选进入我们的配置文件:

vi /etc/my-cnf

添加:

character-set-server=utf8

通过

systemctl restart mysqld

重启我们的mysql服务器即可

此时如果再通过命令行向我们刚才的创建好的数据库添加中文数据还是一样会报错,因为我们刚才创建的数据库是以刚才的编码进行创建的。所以我们要么重新建一个库,要么就修改下我们的刚才数据库的编码格式:
通过命令:set names utf8

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值