Jo
2006-03-14 13:13:40 UTC
Vielleicht treibt es den einen oder anderen bereits zum Wahnsinn mit
Umlaut-bezogenen Problemen und keiner kann es mehr hören. Aber ich
verzweifle mittlerweile an der folgenden Situation:
Problem:
--------
Es sollen Daten aus MS Excel 2003 in eine MySQL Tabelle geladen werden.
Dazu erstelle ich aus Excel-heraus eine csv-Datei. Damit wird dann mit
einem Ladescript die Tabelle erzeugt. Klappt alles wunderbar, so lange
ich keine Umlaute in den Daten habe. Mit dem ersten Umlaut innerhalb
eines Feldes wird der Rest des Feldes (einschl. Umlaut) abgeschnitten -
wird also wie ein field-delimiter behandelt.
Anmerkung: Aufgrund bestehender Anforderungen soll die Datenbank
einschl. Tabellen, etc. in utf8 gehalten werden.
Was mache ich falsch, bzw. was muss ich zusätzlich tun???
Umgebung:
---------
Windows XP
MySQL 5.0.18-nt
SHOW VARIABLES zeigt, dass alle character_set_*-related Variablen auf
utf8 gesetzt sind
Mein Testladescript sieht folgendermassen aus:
----------------------------------------------
DROP TABLE IF EXISTS tst;
CREATE TABLE tst
(
f1 char (10),
f2 char (10)
)
ENGINE = MyISAM;
LOAD DATA INFILE 'c:/temp/tst.csv'
INTO TABLE tst
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
(
f1,
f2
)
Die Datei 'tst.csv' hat den folgenden Inhalt (1 Zeile):
-------------------------------------------------------
ue=ü;oe=ö
Nach dem Laden (ohne Fehler, ohne Warnings) hat die Tabelle folgenden
Inhalt:
-----------------------------------------------------------------------------
f1 f2
ue= oe=
Umlaut-bezogenen Problemen und keiner kann es mehr hören. Aber ich
verzweifle mittlerweile an der folgenden Situation:
Problem:
--------
Es sollen Daten aus MS Excel 2003 in eine MySQL Tabelle geladen werden.
Dazu erstelle ich aus Excel-heraus eine csv-Datei. Damit wird dann mit
einem Ladescript die Tabelle erzeugt. Klappt alles wunderbar, so lange
ich keine Umlaute in den Daten habe. Mit dem ersten Umlaut innerhalb
eines Feldes wird der Rest des Feldes (einschl. Umlaut) abgeschnitten -
wird also wie ein field-delimiter behandelt.
Anmerkung: Aufgrund bestehender Anforderungen soll die Datenbank
einschl. Tabellen, etc. in utf8 gehalten werden.
Was mache ich falsch, bzw. was muss ich zusätzlich tun???
Umgebung:
---------
Windows XP
MySQL 5.0.18-nt
SHOW VARIABLES zeigt, dass alle character_set_*-related Variablen auf
utf8 gesetzt sind
Mein Testladescript sieht folgendermassen aus:
----------------------------------------------
DROP TABLE IF EXISTS tst;
CREATE TABLE tst
(
f1 char (10),
f2 char (10)
)
ENGINE = MyISAM;
LOAD DATA INFILE 'c:/temp/tst.csv'
INTO TABLE tst
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
(
f1,
f2
)
Die Datei 'tst.csv' hat den folgenden Inhalt (1 Zeile):
-------------------------------------------------------
ue=ü;oe=ö
Nach dem Laden (ohne Fehler, ohne Warnings) hat die Tabelle folgenden
Inhalt:
-----------------------------------------------------------------------------
f1 f2
ue= oe=