xb3 mysql_Mysql 5.5 中文字符编码问题。1366, "Incorrect string value: '\\xE7\\xB3\\xBB\ \xE5\\x88\\x97' for co...

本文详细介绍了如何在MySQL中检查和修改字符集编码,以解决中文乱码问题。从查看数据库、表及字段的字符集设置,到通过ALTER语句进行修改,确保数据库、表及字段的字符集统一为UTF8,从而实现中文正常显示和插入。此外,还强调了检查字段实际字符集的重要性,以确保四级字符集设置正确。
摘要由CSDN通过智能技术生成

一、查看当前数据库字符集编码

show VARIABLES like 'character_%';

573cb922774986f8cadefe11ba4d48e2.png

将所有字段值非utf8 (上图中为latin1 拉丁)修改为utf8

set character_set_database=utf8;

set character_set_connection=utf8;

5370009258f42211b2205dec2203fd41.png

测试

use test;

create table Test(

Name nvarchar(10)

);

insert into Test values('中文');

select * from Test;

二、MySQL的四级字符集设置

如上操作后可以直接数据库插入中文,但是 navicat 以及Django这样的不能进行插入中文,查询出来是乱码,就可以进行以下操作

MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 。最终是字段级 的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以建议要用

show create table table ;

show full fields from tableName;

来检查当前表中字段的字符集设置。

2.2 查看库、表、字段编码

查看数据库编码:

SHOW CREATE DATABASE db_name;

查看表编码:

SHOW CREATE TABLE tbl_name;

查看字段编码:

SHOW FULL COLUMNS FROM tbl_name;

如图查看字段输入:show full fields from api_products\G;

我的字段依旧是拉丁,所以需要修改

1a46accb05d5e6751477b6b672d707cf.png

2.2.2 根据上面查询出来的编码选择对应的操作修改编码

修改数据库字符集:

ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];

把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]

如:ALTER TABLE api_products CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

只是修改表的默认字符集:

ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];

如:ALTER TABLE api_products DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

修改字段的字符集:

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];

如:ALTER TABLE api_products CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

把我表默认的字符集所有字符列,修改为新字符集:

5f999d2576b399d8f79a38a2c58eab8f.png

成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值