Probleme mit Umlauten bei csv Export

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit Umlauten bei csv Export

    Hallo liebe Kolleginnen und Kollegen,

    Ich hab ein kleines Problem mit meinem Script.

    Ich exportiere einen SQL query als csv. Nach dem Export habe ich in den Rohdaten im Editor (nicht Excel) das bekannte Fragezeichen in der schwarzen Raute, an der Stelle wo sich ansonsten Umlaute befinden.

    Ich hab die Forensuche mehrfach durch und fast alles ausprobiert.

    habe es mit

    iconv,
    utf8_encode(),
    utf8_decode(),
    mb_convert_encoding,


    und etlichen charsets von utf-8 über windows-1252 bis zu latin-1

    versucht.

    Erfolglos!

    auch
    PHP-Code:
    function convertToWindowsCharset($string) { 
    $charset mb_detect_encoding
    $string
    "UTF-8, ISO-8859-1, ISO-8859-15"
    true 
    ); 

    $string mb_convert_encoding($string"Windows-1252"$charset); 
    return 
    $string

    im Cleanup brachte keine Hilfe

    Eventuell seht ihr ja den Fehler, ich seh´ vor lauter Bäumen den Wald nicht mehr.

    Hier mein Script:
    PHP-Code:
    <?php


        
    // Trennzeichen
        
    define("csv_delimeter"";");

        
    // Datenbankeinstellungen
        
    define("db_user""xxx");
        
    define("db_password""xxx");
        
    define("db_server""xxx");
        
    define("db_db_name""xxx");

        
    // Verbinden und Datenbank auswählen
        
    mysql_connect(db_serverdb_userdb_password) or die(mysql_error());
        
    mysql_select_db(db_db_name) or die(mysql_error());

        
    // Abfrage
        
    $sql "SELECT  T1.ordernumber AS articlenumber, T2.*
        FROM  s_articles_details T1, s_articles T2
        WHERE  T1.articleID = T2.ID"
    ;

        
    // Abfrage ausführen
        
    $result mysql_query($sql) or die(mysql_error());

        
    $result_row = array();

        
    // jede Zeile bearbeiten
        
    while ( $array_result mysql_fetch_assoc($result) )
        {
            
    // keine Titelzeile vorhanden? (Array leer?)
            
    if ( empty($result_row) )
            {
                
    // erste Zeile initialisieren
                
    $result_row[] = "";
                
    $row_data = array();
                
    $index count($result_row)-1// Index holen
                // Schleife durchlaufen für die Titelzeile
                
    foreach ( array_keys($array_result) as $key_name )
                {
                    
    $row_data[] .= "\"" $key_name "\"";
                }
                
    $result_row[$index] = implode(csv_delimeter$row_data);
                unset(
    $row_data);
            }
            
    // neue Zeile initialisieren
            
    $result_row[] = "";
            
    $row_data = array();

            
    $index count($result_row)-1;
            foreach ( 
    $array_result as $key => $value )
            {


            
    $row_data[] .= "\"" $value "\"";

            }

            
    $result_row[$index] = implode(csv_delimeter$row_data);
            unset(
    $row_data);
        }

        
    // Header setzen
        
    header('Content-type: application/csv; charset=Windows-1252');
        
    header('Expires: ' gmdate('D, d M Y H:i:s') . ' GMT');
        
    header('Content-Disposition: attachment; filename=artikel.csv');
        
    header('Pragma: no-cache');
        echo 
    pack("CCC",0xef,0xbb,0xbf);

        echo 
    implode(PHP_EOL$result_row);

    ?>
    Vielen Dank euch !

    Edit: Kollation der Tabelle ist utf8_unicode_ci, datentyp mediumtext
    Zuletzt geändert von derUHU; 01.07.2014, 23:19.

  • #2
    UTF8 codierte CSV Dateien mit Microsoft Excel öffnen - Institut für Rechtsmedizin - LMU München

    Kommentar


    • #3
      Danke für die Antwort, aber es geht nicht um Excel Import ! Es geht um die rohe csv ! Dass Excel Probleme mit UTF8 hat ist mir klar. Excel ist mal ganz aussen vor. Ich brauche die csv für einen ERP Import.
      Zuletzt geändert von derUHU; 02.07.2014, 01:46.

      Kommentar


      • #4
        Zitat von derUHU Beitrag anzeigen
        Danke für die Antwort, aber es geht nicht um Excel Import ! Es geht um die rohe csv ! Dass Excel Probleme mit UTF8 hat ist mir klar. Excel ist mal ganz aussen vor. Ich brauche die csv für einen ERP Import.
        Und in welcher Kodierung erwartet der ERP Import die Daten?

        Kommentar

        Lädt...
        X