Nerdi: latin1 to utf8

Hallo Gemeinde,

ich stehe vor einem Problem was ich nicht so recht verstehe und kein vergleichbares Problem im Internet von anderen Entwicklern entdeckt habe.

Vorab meine phpMyAdmin Daten:

Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1

MySQL-Client-Version: 5.1.41

...hier meine Einstellungen:

1.) Mein Text-Editor ist auf UTF-8.
2.) Datenbank Kollation: UTF-8
3.) Datenbank Tabellen Kollation: UTF-8
4.) PDO $db->query(SET NAMES UTF-8)
5.) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Das Dokument wird von Google-Analytcs als CSV-Datei downgeloadet, in latin1-Codierung. Weder mit utf8_encode() noch mit mb_convert_encoding($string, "UTF-8", "ISO-8859-1") kann ich ein brauchbares Ergebniss erzielen.

In der Datenbank-Tabelle ist zwischen jedem Wort ein merkwürdiges Fragezeichen:
k�a�s�s�e�t�t�e�n�m�a�r�k�i�s�e� �w�i�n�t�e�r� <- soll heißen kassettenmarkise winter

Die Daten werden nur dann korrekt in die DB geschrieben wenn ich das Dokument vorab mit Open-Office öffne, als UTF-8 speichere und dann es uploade!

Brauche dringend Hilfe, ich komme mit meinem Wissen nicht mehr weiter :-(

Gruß

Sipatshi

  1. Hallo,

    falsch(nicht Wort):
    In der Datenbank-Tabelle ist zwischen jedem Wort ein merkwürdiges Fragezeichen:

    richtig(Buchstaben):
    In der Datenbank-Tabelle ist zwischen jedem Buchstaben ein merkwürdiges Fragezeichen:

    sorry

  2. Hi!

    Das Dokument wird von Google-Analytcs als CSV-Datei downgeloadet, in latin1-Codierung.

    Dann öffne doch bitte das Dokument mal mit einem Hexeditor. Interessant wären die ersten beiden Byte, die sind vermutlich FF FE (oder andersrum). Das dritte dürfte einem ASCII-Zeichen entsprechen und das vierte ist vermutlich 00, ebenso jeden weitere zweite Zeichen. Wenn ja, wäre das UTF16.

    Die Daten werden nur dann korrekt in die DB geschrieben wenn ich das Dokument vorab mit Open-Office öffne, als UTF-8 speichere und dann es uploade!

    Open Office erkennt die vermutete BOM am Dateianfang und kann dann korrekt UTF-16 dekodieren.

    Lo!

    1. Hallo,

      habe soeben das Problem gelöst! Der Kollege(SEO-Experte) der mir die Dokumente per Skype schicke sagte mir nicht, das beim Download der Datei in Google-Analtics zwei verschieden Möglichkeiten zur Auswahl stehen: 1.) CSV und 2.) CSV für Excel. Er schickte mir immer wieder die "CSV für Excel". Das konnte ich nicht wissen und er hat beim Download nicht darauf geachtet!

      Trotzdem werde ich mir ein Hexeditor besorgen und dir aus Interesse die benötigen Daten(byte, FF 00, usw.) rauspicken und posten.

      Gruß

      Sipatshi

    2. Hallo,

      ich glaub du hast recht, es ist UTF-16

      Dann öffne doch bitte das Dokument mal mit einem Hexeditor. Interessant wären die ersten beiden Byte, die sind vermutlich FF FE (oder andersrum). Das dritte dürfte einem ASCII-Zeichen entsprechen und das vierte ist vermutlich 00, ebenso jeden weitere zweite Zeichen. Wenn ja, wäre das UTF16.

      FF FE 23 00 20 00 2D 00 2D 00 2D 00 2D 00 2D 00

      Gruß

      Sipatshi