国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL生僻字插入失敗的處理方法(Incorrect string value)

2024-07-24 12:51:47
字體:
來源:轉載
供稿:網友

最近,業務方反饋有個別用戶信息插入失敗,報錯提示類似"Incorrect string value:"/xF0/xA5 ..... " 看這個提示應該是字符集不支持某個生僻字造成的。

下面是在虛擬機里復現的場景:

step1、模擬原始表結構字符集環境:

use test;CREATE TABLE `t1` ( `id` int(10) NOT NULL AUTO_INCREMENT, `real_name` varchar(255) CHARACTER SET utf8 DEFAULT '' COMMENT '姓名', `nick` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '昵稱', PRIMARY KEY (`id`)) ENGINE=InnoDBAUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='會員卡';

step2、插入生僻字(使用sqlyog模擬):

1、先模擬線上環境,設置下字符集:

wKiom1kUGECCXdKDAAAV9L1hpEY173.png

2、插入生僻字(生僻字可以參考:http://www.qqxiuzi.cn/zh/hanzi-unicode-bianma.php?zfj=kzb&ks=24E20&js=257E3)

wKioL1kUGEHCtaAvAABxJXp_7Ow741.png

我們嘗試插入王(在word里面按住alt,輸入152964)。可以看到插入失敗了。

step3、修改real_name的字符集:

use test;alter table t1 change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' ;

如果是線上大表的話,可以使用pt-osc來處理,命令如下:

pt-online-schema-change -uroot -h localhost --alter=" change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' " D=test, t=t1 --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --charset=utf8mb4 --dry-run
pt-online-schema-change -uroot -h localhost --alter=" change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' " D=test, t=t1 --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --charset=utf8mb4 --execute

step4、再次插入實驗:

1、先設置下字符集:

wKiom1kUGECCXdKDAAAV9L1hpEY173.png

2、再次插入,可以看到插入成功了。

wKioL1kUGILTLvpxAAAdWKxKR5A899.png

在命令行里面查詢也是沒有亂碼了:

wKiom1kUGIPyeykFAAAiRzDqNxs956.png

到此就完成了,大家可以參考一下。

您可能感興趣的文章:

解決mysql創建數據庫后出現:Access denied for user ''root''@''%'' to database ''xxx''的問題mysql輸入中文出現ERROR 1366的解決方法bitronix 連接 MySQL 出現MySQLSyntaxErrorException 的解決方法MySQL與Oracle SQL語言差異比較一覽MySQL中or語句用法示例
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大城县| 新化县| 南江县| 池州市| 九台市| 莱西市| 抚顺市| 吴忠市| 大关县| 海宁市| 壤塘县| 张家口市| 招远市| 庆城县| 焦作市| 岑巩县| 曲松县| 吉首市| 图们市| 蒲城县| 呼伦贝尔市| 宁津县| 寿阳县| 阿拉善左旗| 黑山县| 敖汉旗| 华亭县| 易门县| 英山县| 邳州市| 玉林市| 稷山县| 丹巴县| 丰都县| 哈巴河县| 开原市| 乌鲁木齐县| 黄浦区| 安溪县| 东乌珠穆沁旗| 贺州市|