Ich kann dieses SQL-Skript nicht ausführen:
%Vor%Der Fehler ist:
FEHLER 1366: Falscher Zeichenfolgenwert: '\ xF0 \ xA0 \ xBC \ xAD' für Spalte 'Name' in Zeile 1 SQL-Anweisung: INSERT INTO
mabase
.% Co_de% (new_table
,idnew_table
) WERTE ('2', '
Ihr gewünschter Charakter, U + 20F2D , befindet sich in der "CJK Unified Ideographs Extension B" Block von Unicodes "ergänzender ideografischer Ebene" und war deshalb in keinem MySQL Unicode-Zeichensatz vor v5.5 verfügbar; seit v5.5 ist es in der utf8mb4
, utf16
, utf16le
und utf32
Zeichensätze.
Es ist nicht in den% -Zeichen big5
oder gbk
verfügbar.
utf8
nicht Wie unter Unicode-Unterstützung dokumentiert:
Die erste Implementierung der Unicode-Unterstützung (in MySQL 4.1) umfasste zwei Zeichensätze zum Speichern von Unicode-Daten:
ucs2
, die UCS-2-Codierung des Unicode-Zeichensatzes mit 16 Bits pro Zeichen.
utf8
, eine UTF-8-Codierung des Unicode-Zeichensatzes mit ein bis drei Byte pro Zeichen.Diese beiden Zeichensätze unterstützen die Zeichen aus der Basic Multilingual Plane (BMP) von Unicode Version 3.0. BMP-Zeichen haben diese Merkmale:
Ihre Codewerte liegen zwischen 0 und 65535 (oder
U+0000
..U+FFFF
).Sie können mit einem festen 16-Bit-Wort codiert werden, wie in
ucs2
.Sie können mit 8, 16 oder 24 Bit codiert werden, wie in
utf8
.Sie reichen für fast alle Zeichen in den Hauptsprachen aus.
Zeichen, die von den oben genannten Zeichensätzen nicht unterstützt werden, enthalten zusätzliche Zeichen, die außerhalb des BMP liegen. Zeichen außerhalb des BMP werden als ERSATZCHARAKTER verglichen und in
'?'
konvertiert, wenn sie in einen Unicode-Zeichensatz konvertiert werden.In MySQL 5.6 enthält die Unicode-Unterstützung zusätzliche Zeichen, die neue Zeichensätze erfordern, die einen größeren Bereich haben und daher mehr Platz benötigen. Die folgende Tabelle zeigt einen kurzen Funktionsvergleich der vorherigen und aktuellen Unicode-Unterstützung.
%Vor%Diese Änderungen sind aufwärtskompatibel. Wenn Sie die neuen Zeichensätze verwenden möchten, gibt es mögliche Inkompatibilitätsprobleme für Ihre Anwendungen. Siehe Abschnitt 10.1.11, "Upgrade von früher auf die aktuelle Unicode-Unterstützung" . In diesem Abschnitt wird auch beschrieben, wie Tabellen aus
utf8
in den Zeichensatz (4 Byte)utf8mb4
konvertiert werden und welche Einschränkungen dabei gelten.
big5
nicht Wie unter dokumentiert ist, sollten Sie wissen, wann mit dem Big5 chinesischen Zeichensatz arbeiten? :
MySQL unterstützt den Big5-Zeichensatz, der in Hongkong und Taiwan (Republik China) üblich ist. MySQL
%Vor%big5
ist in Wirklichkeit die Microsoft-Codepage 950, die dem ursprünglichenbig5
-Zeichensatz sehr ähnlich ist.Eine Feature-Anfrage zum Hinzufügen von
HKSCS
Erweiterungen wurde eingereicht. Personen, die diese Erweiterung benötigen, finden möglicherweise den vorgeschlagenen Patch für Bug # 13577 interessant.
gbk
nicht Wie in dokumentiert, welche CJK-Zeichensätze in MySQL verfügbar sind ? :
Hier versuchen wir genau zu klären, welche Charaktere in
gb2312
odergbk
legitim sind, mit Bezug auf die offiziellen Dokumente. Bitte überprüfen Sie diese Referenzen, bevor Siegb2312
odergbk
Bugs melden.
Eine vollständige Liste der
gb2312
-Zeichen, geordnet nach dergb2312_chinese_ci
-Kollation: gb2312MySQL
gbk
ist in Wirklichkeit "Microsoft Codepage 936". Dies unterscheidet sich vom offiziellengbk
für die ZeichenA1A4
(mittlerer Punkt),A1AA
(em-Strich),A6E0-A6F5
undA8BB-A8C0
.Eine Liste der
gbk
/ Unicode-Zuordnungen finden Sie unter Ссылка .Für die Aufstellung von
gbk
-Zeichen in MySQL siehe gbk .
ALTER DATENBANK CHARAKTER SET 'utf8' COLLATE 'utf8_unicode_ci'
ALTER TABLE wird in den Zeichensatz DEFAULT COLLATE konvertiert DEFAULT
Kurz und einfach.
hoffe es hilft