旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

MySQL生僻字插进去失利怎么办【MySQL教程】,MySQL,怎么办,失败

作者:搜教程发布时间:2019-11-27分类:MySQL教程浏览:77评论:0


导读:营业方反应有一般用户信息插进去失利,报错提醒相似"Incorrectstringvalue:"\xF0\xA5....."看这个提醒应该是字符集不支撑某个生僻字形成的。那...
营业方反应有一般用户信息插进去失利,报错提醒相似"Incorrect string value:"\xF0\xA5 ..... " 看这个提醒应该是字符集不支撑某个生僻字形成的。那末怎样处置惩罚呢?本文就和人人分享MySQL生僻字插进去失利怎样处置惩罚。

下面是在虚拟机里复现的场景:

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、先模仿线上环境,设置下字符集:

2、插进去生僻字(生僻字能够参考:http://www.qqxiuzi.cn/zh/hanzi-unicode-bianma.php?zfj=kzb&ks=24E20&js=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、先设置下字符集:

2、再次插进去,能够看到插进去胜利了。

在敕令行内里查询也是没有乱码了:

到此就完成了,人人能够参考一下。

相干引荐:

php支撑生僻字的汉字转拼音的开辟示例

有关生僻字的文章引荐10篇

支撑生僻字且自动识别utf-8编码的php汉字转拼音类_PHP教程

以上就是MySQL生僻字插进去失利怎么办的细致内容,更多请关注ki4网别的相干文章!

标签:MySQL怎么办失败


欢迎 发表评论: