2016-12-31 2 views
0

Ich habe erfolgreich meinen Ubuntu 16.04 LTS LAMPS-Server eingerichtet, so dass MySQL 5.7 nun die utf8mb4-Zeichensätze vollständig unterstützt. Asiatische und französische Zeichensätze können ohne Probleme direkt in das Datenbank-Frontend XATAFace eingegeben werden.utf8mb4 Codierung von CSV-Dateien für den Import nach MySQL

Wenn ich CSV-Dateien in MySQL mit dem phpMyAdmin Verwaltungs Frontend importieren die CSV-Dateien, die ich jetzt mit Französisch Sprachzeichen mache nicht importiert werden, die familar mysql Importfehler zu werfen:

1366 Incorrect String value: ‘\xE9ciali…’ for column . . . .

Ich vermute ein Text-Editor, der CSV-Dateien als utf8mb4 kodieren kann, ist was benötigt wird; Bitte korrigieren Sie mich, wenn das falsch ist. Gibt es auf der Windows-Plattform einen Texteditor, der es ermöglicht, CSV-Dateien utf8mb4 zu verschlüsseln, damit ich meine CSVs erfolgreich in MySQL importieren kann?

Irgendwelche Ideen, wie diese csv Import Hürde überwunden werden kann?

Vielen Dank im Voraus Mark, Saginaw Michigan

+0

Wenn Sie die CSV-Datei in Ihrem Texteditor öffnen, sehen Sie die UTF8-Zeichen oder ihre Ascii-Konvertierung? – jcorry

+0

Bitte fügen Sie Ihrer Frage einen Hexdump des betreffenden Datenstücks hinzu. (Wenn es ein '\ xe9cia' darin gibt, ist es ** nicht ** utf8, aber wahrscheinlich nur ein paar binäre, wie cp1252) – wildplasser

Antwort

2

utf8mb4 ist einfach UTF-8 von einem anderen Programm.

UTF-8-Standard ist bis 4-Byte pro Zeichen (jedes Byte beträgt 8 Bits ), aber aus irgendeinem Grund MySQL UTF-8 ist nur bis zu 3-Byte pro Zeichen kann so nicht Zeigen Sie den vollständigen UTF-8-Zeichensatz an. Daher die mb4; Wenn sich die Leute bei MySQL über dieses Wyrd-Konzept beschwerten, setzten sie UTF-8 multibyte 4 als den vollständigen UTF-8-Zeichensatz.

Es gibt verschiedene Probleme mit Microsoft-Produkten, die CSV-Dateien nicht korrekt als UTF-8 codieren können. und nicht in der Lage, UTF-8 CSV-Dateien korrekt zu importieren.

Sie können auch lesen similar questions darüber, wie PHPMyAdmin CSV-Dateien korrekt zu importieren.

Es gibt far too many mögliche Gründe für das Problem, aber beim ersten Start würde ich die Verwendung eines Programms wie NotePad++ oder OpenOffice (beide kostenlos) sagen, welche kohärent mit CSV-Dateien arbeiten können, dann Ihre ursprünglichen Daten nehmen und speichern Sie es als UTF-8 oder ein anderer allumfassender Zeichensatz wie Windows-1252.

This topic und könnte auch ein sehr nützlicher Augenöffner für allgemeine UTF-8 und Web-Probleme sein.


Zusätzlich Sie könnte Notwendigkeit, ein Byte Order Mark zu Ihrem UTF-8 CSV-Datei (dies ist die Ursache für die Microsoft Excel-Ausgabe verwiesen oben) hinzuzufügen. This answer hilft dabei. Sie können auch read here für weitere Informationen zum Arbeiten mit Stücklisten verwenden.

Viel Glück.

0

Wenn das für die Daten typisch ist, dann verbinden Sie sich mit latin1 anstelle von utf8. MySQL konvertiert in die für die Spalten definierten Werte CHARACTER SET. Wenn Sie LOAD DATA verwenden (zum Importieren einer CSV-Datei), gibt es eine Klausel zum Einrichten der QuelleCHARACTER SET.

Verwandte Themen