Export Encoding Problem

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

  • Export Encoding Problem

    Hallo
    habe folgendes Problem, ich habe eine Datenbank UTF-8
    die Einträge kommen primär von Usern aus dem osteuropäischen Raum, aber auch Deutschland.
    Es sind also die unterschiedlichsten Sprachen vertreten. Ich möchte
    jetzt eine dieser Datenbank-Tabellen mit Excel öffnen. Ich erzeuge mir einen CSV-Eport doch leider gehen nach dem öffne alle Sonderzeichen/ Buchstaben aus den osteuropäischen Sprachen kaputt.
    Gibt es eine andere alterntive zu CSV. Das Format muss nur mit Excel kompatibel sein. Oder hat Excell ein Problem mit UTF-8?
    Danke für eure Hilfe

    coellefornia

  • #2
    afaik kann man bei Excel einstellen in welchem Zeichensatz die CSV vorliegt.
    Du musst also nur als UTF8 exportieren und als UTF8 importieren.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Krieg das Problem nicht gelöst, hätte vielleicht einer von Euch Interesse sich dem Problem, natürlich entgeltlich, anzunehmen. Damit wäre mir sehr geholfen.
      Bei Interesse bitte Email oder PM, dann würde ich die erforderlichen Daten schicken.
      Danke
      coellefornia

      Kommentar


      • #4
        Original geschrieben von ghostgambler
        afaik kann man bei Excel einstellen in welchem Zeichensatz die CSV vorliegt.
        Du musst also nur als UTF8 exportieren und als UTF8 importieren.
        Gehört natürlich nicht in diese Forum, aber es würde mich trotzdem interessieren, wo du das einstellst und wie du UTF8-Dateien importierst.
        Hab das nicht mal bei OO gefunden, aber dort ist wird der Zeichensatz automatisch richtig erkannt.
        Gruss
        H2O

        Kommentar


        • #5
          Wenn ich mich recht erinnere muss man die CVS auswählen und danach kommt der Dialog, wo man auch die Trennzeichen auswählen kann, und da kann man afaik auch den Zeichensatz ändern.

          Und ansonsten -> ? -> Hilfe ^^,

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            ähh ich würd mich gern nochmal hier einklinken ... erklärt wurde ja schon dass, dass phänomen existiert aber nicht warum?

            ich erhalte utf8 daten aus eine datenbank mit utf8 verbindung und mache on the fly ein csv export. die daten konvertier ich mit utf8_decode(). wenn ich die daten einfach mal in eine textdatei mit fwrite schreibe ist alles korrekt mit dem umlauten. will ich aber die daten an den browser zum download ausgeben erhalte ich eine csv in der die umlaute encoded sind wie durch htmlentities() .. also ü ist ein uuml; usw. ich hab keinen plan wie das möglich ist? woher kommt die umlaut konvertierung?

            PHP-Code:
                        /*$fp = fopen('test.log',"a+");
                        foreach($this->aData as $v)
                        {
                           fwrite($fp,$v."\r\n");
                        }*/
                        
            header('Pragma: no-cache');
                        
            header('Cache-Control: no-store, no-cache, must-revalidate');
                        
            header('Cache-Control: pre-check=0, post-check=0, max-age=0'); 
                        
            header('Expires: 0'); 
                        
            header("Content-Length: ".strlen(implode('',$this->aData))."");
                        
            header('Content-Type: application/vnd.ms-excel;'); 
                        
            header("Content-type: application/x-m************cel");
                        
            header("Content-Disposition: attachment; filename=export.csv");
                        
            header("Content-Transfer-Encoding: ascii");
                        
            set_time_limit(0);
                        foreach(
            $this->aData as $v)
                        {
                            echo 
            $v."\r\n";
                        }
                        exit; 

            Kommentar

            Lädt...
            X