报错:Error 1366: Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95' for column 'description' at row 1
原因是数据库字段没有设置编码为utf8而是默认的lanti
(1)查看表中的各字段的属性: show full columns from table_name;
如果看到每个字段都是lati, 则执行以下语句:
alter table table_name convert to character set utf8 collate utf8_general_ci;
(2)同时检查一些变量collation_connection、collation_database、collation_server是否都是utf8_general_ci
检查的语句为:show variable like 'collation%';
修改的语句为:set collation_connection=utf8_general_ci
(3)同时检查一些变量character的相关变量是否为utf8_general_ci
检查的语句为:show variable like 'character%';
修改语句如:set character_set_database=utf8;
-------------------------------------------------------------------------------------------------------
查看数据库编码
show variables like '%char%'; 或者show variables like 'character_set_database';
修改数据库编码格式为 utf8
alter database <数据库名> character set utf8;
创建数据库 CREATE DATABASE IF NOT EXISTS paas-test default CHARACTER utf8 COLLATE utf8_general_ci;
本文详细介绍了如何解决MySQL中出现的Error1366问题,主要原因是数据库字段编码未设置为utf8。文章提供了具体的步骤,包括调整字段属性、检查和修改数据库连接编码、更改数据库整体编码格式。
1261

被折叠的 条评论
为什么被折叠?



