mysql插入中文字符报错:1366 - Incorrect string value: ‘\xE6\x9D\x8E\xE7\x99\xBD‘ for column...

文章讲述了在MySQL数据库中,由于表的charset设置为Latin1导致不支持中文字符的问题。通过执行`ALTERTABLE`命令,首先修改了表的默认编码格式为UTF8,但发现列的字符集仍为Latin1。接着,对含有中文的列进行修改,将其字符集改为UTF8,从而成功解决了数据插入的编码问题。
摘要由CSDN通过智能技术生成
  1. 问题定位过程:

查看你的表:show create table 表名

CREATE TABLE `es_table` (
  `id` bigint(20) unsigned NOT NULL,
  `client_name` varchar(32) NOT NULL,
  `modification_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `insertion_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

发现charset设置为Latin1,Latin1不支持中文字符,因此我们需要修改编码格式

修改你的表编码格式:alter table 表名 default character set utf8;

再次查看

CREATE TABLE `es_table` (
  `id` bigint(20) unsigned NOT NULL,
  `client_name` varchar(32) CHARACTER SET latin1 NOT NULL,
  `modification_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `insertion_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

不急,还没有结束!!!

此时表的编码格式已经改变,但是列的编码格式显示为Latin1

修改列的编码格式:alter table 表名change 列名列名 varchar(40) character set utf8;

数据插入成功。

根据引用和引用的信息,这个错误是由于数据库表的字符集设置不正确导致的。具体的错误信息是"1366 - Incorrect string value",这表示在向数据库添加数据时,遇到了无法识别的字符。这可能是因为默认的字符集不是UTF-8,而是latin1,无法正确处理含有非ASCII字符数据。 解决这个问题的方法是将字符集设置为UTF-8。可以通过在navicat中选择相应的表以及对应的列,然后修改字符集为UTF-8来解决该错误。这样,数据库就能够正确地处理包含特殊字符数据。 另外,根据引用的参考文章所述,如果在添加数据时出现类似的错误信息,也可以通过修改相应列的字符集为UTF-8来解决。这样,数据库就能够正确地存储和处理包含特殊字符数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Navicat上传excel数据错误:[ERR] 1366 - Incorrect string value](https://blog.csdn.net/m0_57602630/article/details/121361706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [MySql插入数据时出现:Incorrect string value: ‘\xE6\x9F\xB3\xE5\xB2\xA9...‘ for column ‘name‘ at ...](https://blog.csdn.net/weixin_54514751/article/details/127916855)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北凉-徐凤年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值