主頁 > 知識庫 > MySQL生僻字插入失敗的處理方法(Incorrect string value)

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

熱門標簽:地圖標注培訓 手機用地圖標注工具 昆明智能外呼系統(tǒng)中心 電銷機器人說明書 長安區(qū)違法建房地圖標注 南宋地圖標注黃河華山 智能電銷機器人靠譜么 電銷機器人公眾號推送 安國在哪里辦理400電話

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

下面是在虛擬機里復現(xiàn)的場景:

step1、模擬原始表結(jié)構(gòu)字符集環(huán)境:

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、先模擬線上環(huán)境,設(shè)置下字符集:

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

我們嘗試插入王(在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、先設(shè)置下字符集:

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

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

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

您可能感興趣的文章:
  • MySQL存儲表情時報錯:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’的解決方法
  • MySQL拋出Incorrect string value異常分析
  • MySql 錯誤Incorrect string value for column
  • Mysql中關(guān)于Incorrect string value的解決方案

標簽:潛江 長沙 吉安 武漢 東莞 南昌 合肥 江門

巨人網(wǎng)絡(luò)通訊聲明:本文標題《MySQL生僻字插入失敗的處理方法(Incorrect string value)》,本文關(guān)鍵詞  MySQL,生僻,字,插入,失,敗的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL生僻字插入失敗的處理方法(Incorrect string value)》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL生僻字插入失敗的處理方法(Incorrect string value)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章