mysql入汉字报错 xE7_Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course...

Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1

出现这个错误的原因是,数据库的编码格式为latin1 而我要将utf8的中文插入到数据库中。

一开始修改  修改数据库的编码

1.数据库查看数据各字符编码:show variables like '%char%';

2.查看文本文档字符编码是否和数据库字符编码一致(以utf8为例,必须保证一致性)。

(插入中文到数据库)

1.查看数据各字符编码:show variables like '%char%';

2.执行set names gbk;把三个回话系统变量character_set_client、character_set_connection和character_set_results设置为给定字符集。

3.如果数据库不是gbk编码,执行alter database mysqltestdb character set gbk;设置当前的数据库编码为gbk即可。

-----------------------------------------------------------------------------------

实现编码设置的两种方法:

(1)动态设置

创建数据库:

CREATE DATABASE PyDB

CHARACTER SET 'utf8'

COLLATE 'utf8_general_ci';

选择此数据库:

USE PyDB;

创建表:

CREATE TABLE PyTable (

username VARCHAR(10),

useraddr VARCHAR(10)

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

(2)改变默认编码

在mysql下,先执行命令:SHOW variables LIKE '%char%';

查看数据库默认编码是latin1。

以root身份更改mysql的配置文件

在/etc/my.cnf 或 /etc/mysql/my.cnf 添加以下指令并保存:

[client]

default-character-set = utf8

[mysqld]

default-storage-engine = INNODB

character-set-server = utf8

collation-server = utf8_general_ci

然后重启mysql:service mysql restart

再次查看:SHOW variables LIKE '%char%';

可以看到编码已经是UTF8。

-------------------------------------------------------

或者

https://blog.csdn.net/ch717828/article/details/41357431/

-------------------------------------------------------

CHARACTER SET 'utf8mb4'

COLLATE 'utf8mb4_0900_ai_ci'

navicat客户端也可以设置

e2605313542575082c02d539c8111284.png

34f4ba009deefd86280c09c0867b6d1a.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值