当字符串值不正确时,如何转换mysql中的字段字符?

当字符串值不正确时,如何转换mysql中的字段字符?,mysql,Mysql,这是我的创建表sql: CREATE TABLE `owner` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET gbk NOT NULL PRIMARY KEY (`id`) ); 表中已经有一些历史数据。 我想将name字段的字符从gbk更改为utf8 当我执行此sql时: ALTER TABLE owner MODIFY COLUMN name varchar(100)

这是我的创建表sql:

CREATE TABLE `owner` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) CHARACTER SET gbk NOT NULL
  PRIMARY KEY (`id`)
);
表中已经有一些历史数据。
我想将name字段的字符从gbk更改为utf8
当我执行此sql时:

ALTER TABLE owner MODIFY COLUMN name varchar(100) CHARACTER SET utf8;
返回错误消息:

错误1366(22007):列的字符串值“\xA3\xA0”不正确
测试
所有者
名称
第3047064行

选中此行数据:

MariaDB [sd]> select * from owner limit 3047063,1;
+-------------+------------+
| id          | name       |
+-------------+------------+
| 3047945     | 欧文?      |
+-------------+------------+
1 row in set (0.402 sec)
我认为问题应该出现在这个

还有很多类似的数据,如何快速处理
可以删除,可以更新。

问题已经解决
使用
HEX
功能

select * from owner where hex(name) like '%A3A0'