Heim  >  Artikel  >  Datenbank  >  So gehen Sie mit dem Fehler um, der beim Einfügen seltener Zeichen in MySQL fehlschlägt (Bild)

So gehen Sie mit dem Fehler um, der beim Einfügen seltener Zeichen in MySQL fehlschlägt (Bild)

黄舟
黄舟Original
2017-05-14 09:57:342549Durchsuche

Kürzlich meldete die Unternehmensseite, dass das Einfügen einzelner Benutzerinformationen fehlgeschlagen ist und die Fehlermeldung ähnlich war wie „Falscher Zeichenfolge-Wert: „xF0xA5....“ Wenn man sich diese Eingabeaufforderung ansieht, sollte es so sein Der -Zeichensatz wird nicht unterstützt. Es wird durch ein seltenes Wort verursacht, auf das sich Freunde, die es benötigen, beziehen können Die Fehlermeldung war ähnlich wie „Falscher Zeichenfolgenwert: „xF0xA5....“ Sehen Sie sich diese Eingabeaufforderung an. Dies kann daran liegen, dass der Zeichensatz ein seltenes Zeichen nicht unterstützt.

Das Folgende ist die in der virtuellen Maschine reproduzierte Szene:

Schritt 1: Simulieren Sie die ursprüngliche Tabellenstruktur-Zeichensatzumgebung:

Schritt 2: Fügen Sie seltene Zeichen ein (verwenden Sie sqlyog-Simulation):
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='会员卡';

1. Simulieren Sie zunächst die Online-Umgebung und legen Sie den Zeichensatz fest:

So gehen Sie mit dem Fehler um, der beim Einfügen seltener Zeichen in MySQL fehlschlägt (Bild)2 an: www.qqxiuzi.cn/zh/hanzi-unicode-bianma.php?zfj=kzb&ks=24E20&

js

=257E3)

So gehen Sie mit dem Fehler um, der beim Einfügen seltener Zeichen in MySQL fehlschlägt (Bild)Wir versuchen es um „König“ einzufügen (halten Sie die Alt-Taste in W

Wort

gedrückt und geben Sie 152964 ein). Sie können sehen, dass das Einfügen fehlgeschlagen ist. Schritt 3. Ändern Sie den Zeichensatz von real_name:

Wenn es sich um eine große Online-Tabelle handelt, können Sie sie mit pt-osc verarbeiten. Der Befehl lautet wie folgt:
use test;

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

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


Schritt 4. Fügen Sie das Experiment erneut ein:
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

1. Stellen Sie zuerst den Zeichensatz ein:

So gehen Sie mit dem Fehler um, der beim Einfügen seltener Zeichen in MySQL fehlschlägt (Bild)2. Fügen Sie es erneut ein und Sie können sehen, dass das Einfügen erfolgreich war.

So gehen Sie mit dem Fehler um, der beim Einfügen seltener Zeichen in MySQL fehlschlägt (Bild)In der Befehlszeile

Abfrage

und es gibt keinen verstümmelten Code:

So gehen Sie mit dem Fehler um, der beim Einfügen seltener Zeichen in MySQL fehlschlägt (Bild)Das ist es. Ja, Sie können sich darauf beziehen.

Das obige ist der detaillierte Inhalt vonSo gehen Sie mit dem Fehler um, der beim Einfügen seltener Zeichen in MySQL fehlschlägt (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn