Seite 1 von 1

mysqlimport Zeichensatz-Problem

Verfasst: 21.06.2011, 00:38
von tuennes
Hallo zusammen,
ich verzweifel hier gerade an einem mysqlimport-Problem:

Ich versuche, eine Textdatei per mysqlimport in meine Datenbank zu bekommen. Die Textdatei ist IMO in UTF8 kodiert, und wird mir beim Öffnen in Calc auch bei UTF8 korrekt angezeigt. Die Datenbank-Kollatation ist auf utf8_general_ci eingestellt.
Der Import läuft mit einigen Warnungen auch durch, aber wenn ich den Inhalt kontrolliere, enthält jedes Feld als jedes zweites Zeichen ein � ("?").

Ich habe schon die nochmalige Konvertierung in UTF8 per utf8_encode probiert, hab schon testweise das BOM gelöscht und anderes. Ich vermute, dass es irgendwie am Zeichensatz liegt. Aber das Problem bleibt und ich hab keine Idee mehr...

Hilfe!

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 21.06.2011, 02:27
von net(t)worker
hast du --default-character-set=utf8 beim mysqlimport verwendet?

https://dev.mysql.com/doc/refman/5.0/en ... ction.html
The MySQL client programs mysql, mysqladmin, mysqlcheck, mysqlimport, and mysqlshow determine the default character set to use as follows:

* In the absence of other information, the programs use the compiled-in default character set, usually latin1.

* The programs support a --default-character-set option, which enables users to specify the character set explicitly to override whatever default the client otherwise determines.

When a client connects to the server, it sends the name of the character set that it wants to use. The server uses the name to set the character_set_client, character_set_results, and character_set_connection system variables. In effect, the server performs a SET NAMES operation using the character set name.
also wenn du es nicht per --default-character-set angibst um welche codierung sich die zu importierende Datei handelt, wird automatisch ein default Zeichsatz verwendet, und dies ist meist latin1

Verfasst: 21.06.2011, 07:48
von tuennes
net(t)worker hat geschrieben:hast du --default-character-set=utf8 beim mysqlimport verwendet?
Ja, habe ich auch schon probiert... :cry:

Verfasst: 21.06.2011, 08:23
von Synonym
aber wenn ich den Inhalt kontrolliere
wo und wie?
enthält jedes Feld als jedes zweites Zeichen ein � ("?").
Das scheint mir aber aber ein anderes Problem zu sein, wenn immer jedes zweite Zeichen so ist. Oder ist im Import jedes zweite Zeichen ein Umlaut?


Was importierst Du da überhaupt für eine Datei? Eine CSV oder was? Wie ist die aufgebaut? Spalten und Zeilentrenner? Kannst Du die eventuell mal als Auszug bereitstellen, also mit 2-3 Datensätzen?

Verfasst: 21.06.2011, 19:58
von tuennes
Synonym hat geschrieben:
aber wenn ich den Inhalt kontrolliere
wo und wie?
Mit phpMyAdmin.
Synonym hat geschrieben:Das scheint mir aber aber ein anderes Problem zu sein, wenn immer jedes zweite Zeichen so ist. Oder ist im Import jedes zweite Zeichen ein Umlaut?
Nein, nicht jedes zweite Zeichen ist ein Umlaut. Das irritiert mich ja auch. - Vielleicht ist es ja auch etwas ganz anderes und ich seh den Wald vor lauter Bäumen nicht. Ich hab mal vier Zeilen der Datei angefügt. Es handelt sich um eine Textdatei, Feldtrenner ist "|", Zeilentrenner "\n". Das funktioniert auch soweit... Datenauszug

Verfasst: 22.06.2011, 00:20
von xlb
Synonym hat geschrieben:... wenn immer jedes zweite Zeichen so ist. Oder ist im Import jedes zweite Zeichen ein Umlaut?
Nimm mal einen Hex-Editor zur Hand: jedes 2. Zeichen des Auszugs ist ein "Blank"!
Der Import läuft mit einigen Warnungen auch durch ...
Und welche waren das?
Es handelt sich um eine Textdatei, Feldtrenner ist "|", Zeilentrenner "\n".
Also eine quasi-CSV-Datei - Wie/Wo hast du die exportiert?

Verfasst: 22.06.2011, 01:01
von net(t)worker
poste mal IP,rootpassword des DB Servers und den Usernamen und password des mysqlusers und die url des zu exportierenden Files.... dann schau ich mir das mal an...

:roll:

ne... ne, oder... haste nu nicht wirklich ernst genommen, oder?

Verfasst: 27.06.2011, 21:28
von Abraxas
Das sollte dein Leben erhellen :idea:

Code: Alles auswählen

$str = iconv("UTF-8","ISO-8859-1//TRANSLIT",$str);