Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

mysqlimport Zeichensatz-Problem

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
tuennes
PostRank 5
PostRank 5
Beiträge: 266
Registriert: 09.08.2009, 13:03
Wohnort: Köln

Beitrag von tuennes » 21.06.2011, 00:38

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!

Anzeige von ABAKUS

von Anzeige von ABAKUS »

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

Jetzt anfragen: 0511 / 300325-0.


Anonymous

Beitrag von Anonymous » 21.06.2011, 02:27

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

tuennes
PostRank 5
PostRank 5
Beiträge: 266
Registriert: 09.08.2009, 13:03
Wohnort: Köln

Beitrag von tuennes » 21.06.2011, 07:48

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

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 21.06.2011, 08:23

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?

tuennes
PostRank 5
PostRank 5
Beiträge: 266
Registriert: 09.08.2009, 13:03
Wohnort: Köln

Beitrag von tuennes » 21.06.2011, 19:58

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

xlb
PostRank 5
PostRank 5
Beiträge: 282
Registriert: 13.08.2009, 21:11

Beitrag von xlb » 22.06.2011, 00:20

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?

Anonymous

Beitrag von Anonymous » 22.06.2011, 01:01

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?

Abraxas
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 25.06.2011, 09:20

Beitrag von Abraxas » 27.06.2011, 21:28

Das sollte dein Leben erhellen :idea:

Code: Alles auswählen

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

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag