Thread ASCII-Tabelle => MySQL (2 answers)
Opened by chmod777 at 2011-01-31 14:18

moritz
 2011-01-31 14:59
#145216 #145216
User since
2007-05-11
923 articles
HausmeisterIn
[Homepage]
user image
2011-01-31T13:18:19 chmod777
Ich sollte eine Tabelle aus einem File im ASCII-Format einlesen und in eine Tabelle einer MySQL-DB schreiben.

Je nach encoding, kommen die Sonderzeichen mal als ä, mal als „ für ä


ä gibt es nicht in ASCII. Also musst du herausfinden, in welcher Kodierung die Datei ist. Am besten schaust die dir die Sonderzeichen in eienm Hex-Editor an, und vergleichst es mit populaeren Kodierungen.

Quote
Code: (dl )
1
2
3
4
5
6
so lesen ich das ASCII-File ein 
[code]
open (LIST,"file.txt");
binmode LIST, 'encoding(iso-8859-1)';
my @record=(<LIST>);
close LIST;


nehme ich encoding(iso-8859-1) kommt ä als „
mit encoding(cp850) ä als ä

und mit encoding(uft8) kommt die Fehlermeldung \x84 does not map to Unicode

Wie ladet man ein ASCII-File, um die Daten dann korrekt in eine MySQL-Tabelle zu schreiben?


Du probierst zu viele Schritte auf Einmal. Erstmal die Kodierung der Datei bestimmen. Danach kannst du dir darueber Gedanken machen, wie du die Umlaute in die mysql-Tabelle bekommst (Welche Zeichenkodierung hat die? Und hast du mysql_enable_utf8 aktiviert?)

Mehr zu dem Thema: http://perlgeek.de/de/artikel/charsets-unicode

View full thread ASCII-Tabelle => MySQL