Maison  >  Article  >  base de données  >  Comment gérer l'échec de l'insertion de caractères rares dans MySQL (image)

Comment gérer l'échec de l'insertion de caractères rares dans MySQL (image)

黄舟
黄舟original
2017-05-14 09:57:342549parcourir

Récemment, le côté commercial a signalé que l'insertion des informations utilisateur individuelles avait échoué et que le message d'erreur était similaire à Valeur chaîne incorrecte : "xF0xA5.... En regardant cette invite, cela devrait être cela le jeu de caractères n'est pas pris en charge Cela est dû à un mot rare, les amis qui en ont besoin peuvent se référer à

Récemment, le côté commercial a signalé que l'insertion des informations utilisateur individuelles a échoué et que le Le message d'erreur était similaire à "Valeur de chaîne incorrecte :"xF0xA5...." Regardez cette invite. Cela peut être dû au fait que le jeu de caractères ne prend pas en charge un caractère rare.

Ce qui suit est une scène reproduite dans une machine virtuelle :

étape 1, simulez l'environnement de jeu de caractères de la structure de table d'origine :

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='会员卡';

étape 2, insérez des caractères rares (en utilisant sqlyog Simulation) :

1. Simulez d'abord l'environnement en ligne et définissez le jeu de caractères :

Comment gérer léchec de linsertion de caractères rares dans MySQL (image)

2. à : www.qqxiuzi.cn/zh/hanzi-unicode-bianma.php?zfj=kzb&ks=24E20&js=257E3)

Comment gérer léchec de linsertion de caractères rares dans MySQL (image)

Nous essayons pour insérer le roi (dans Maintenez alt dans word et entrez 152964). Vous pouvez voir que l'insertion a échoué.

étape 3. Modifiez le jeu de caractères de real_name :

use test;

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

S'il s'agit d'une grande table en ligne, vous pouvez utiliser pt-osc pour la traiter. >

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
étape 4. Insérez à nouveau l'expérience :

1. Définissez d'abord le jeu de caractères :

Comment gérer léchec de linsertion de caractères rares dans MySQL (image)

2. Insérez-le à nouveau et vous pouvez voir que l'insertion est réussie.

Comment gérer léchec de linsertion de caractères rares dans MySQL (image)

Dans la ligne de commande,

interrogez et il n'y a pas de code tronqué :

Comment gérer léchec de linsertion de caractères rares dans MySQL (image)

C'est Oui, vous pouvez vous y référer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn