Ankündigung

Einklappen
Keine Ankündigung bisher.

unicode in php

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

  • unicode in php

    Hallo Leute,

    Ich nutze Excel, php und den Google Adwords Editor und habe ein Codierungsproblem, dass ich nur sehr umständlich lösen kann.

    Excel und OpenOffice besitzen die "Unicode" Speicherart, was genau das Datenformat ist mit dem der Adwords Editor meine Sonderzeichen richtig lesen kann.

    Für php habe ich das Format nicht gefunden.

    Derzeit nutze ich OpenOffice um meine CSVs in utf8 zu speichern, dann die utf8 codes mit php zu bearbeiten.
    schließlich nutze ich Openoffice wieder um die utf8 codierung zurück zum "unicode" zurückzuspeichern.
    Dann kann ich das Format mit dem AE lesen. Das ganze sieht aber total umständlich aus und man kann es doch bestimmt viel einfacher machen. Nur wie?

    Hat jemand eine Idee für mich? Vielen Dank im Voraus.

    TP

    Edit:
    mit Codierungsformat meine ich den Datentyp oder wie es auch immer heißt. Beispielsweise UTF-8. (aber halt genau der Typ passt nicht)
    Ich nehme an, dass ich ihn hier einstellen muss:

    ....
    setlocale(LC_ALL, 'en_US.UTF-8');

    ....


  • #2
    Bitte konkrete Problemstellung. Frage wird nicht klar.

    S.a. Inserate, Konzepte und Meinungsumfragen
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Neuformulierung:

      Welcher Codierungstyp von PHP entspricht dem Exceltyp "Unicode"?

      Kommentar


      • #4
        Codierungstyp von PHP
        ???
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          Zitat von nikosch Beitrag anzeigen
          ???
          ich meine sowas wie:

          setlocale(LC_ALL, 'en_US.UTF-8');
          date_default_timezone_set("Europe/Berlin");

          Kommentar


          • #6
            http://de.wikipedia.org/wiki/Unicode
            Kodierung [Bearbeiten]

            Neben dem eigentlichen Zeichensatz sind auch eine Reihe von Zeichenkodierungen definiert, die den Unicode-Zeichensatz implementieren und die benutzt werden können, um den vollen Zugriff auf alle Unicode-Zeichen zu haben. Sie werden Unicode Transformation Format (kurz UTF) genannt; am weitesten verbreitet sind zum einen UTF-16, das sich als interne Zeichendarstellung einiger Betriebssysteme (Windows[27], OS X) und Softwareentwicklungs-Frameworks (Java[28], .NET[29]) etabliert hat, zum anderen UTF-8, das ebenfalls in Betriebssystemen (GNU/Linux, Unix) sowie in verschiedenen Internetdiensten (E-Mail, WWW) eine große Rolle spielt. Basierend auf dem proprietären EBCDIC-Format von IBM-Großrechnern ist die UTF-EBCDIC-Kodierung definiert. Punycode dient dazu, Domainnamen mit Nicht-ASCII-Zeichen zu kodieren. Weitere Formate zur Kodierung von Unicode-Zeichen sind u.a. CESU-8 und GB 18030.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              hm,

              die Frage ist doch welcher der vielen UTF codes zu dem "Unicode von Excel" passt. Die schreiben halt nicht genau hin mit was sie arbeiten.

              Vg,
              Peter

              Kommentar


              • #8
                Generell sind mir zwei Unterschiede in Unicode bekannt "utf8_unicode_ci" oder "utf_general_ci".
                Und von daher ist das völlig Wurscht ob Excel oder PHP, dass wird gleich behandelt.
                Wäre ja komisch und bissle blöd, wenn eine Zeichensatzcodierung von Programm zu Programm oder OS zu OS unterschiedlich interpretiert werden würde.
                Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                http://www.lit-web.de

                Kommentar


                • #9
                  Achtung, UTF != Unicode. Und selbst wenn wir wüssten, dass Excel UTF verwendet, gibt es ja nicht nur UTF-8 sondern auch UTF-16, UTF-7 ... die Frage ist also durchaus berechtigt. Ich würde auf UTF-16 tippen. Versuch es doch mal mit mb_detect_encoding
                  @fschmengler - @fschmengler - @schmengler
                  PHP Blog - Magento Entwicklung - CSS Ribbon Generator

                  Kommentar


                  • #10
                    es wäre mir völlig neu, dass Excel selbst unicode kann und verwendet - für diesen Fall benutzt er ja openoffice. Excel läuft jedenfalls nach meinem Kenntnisstand auf iso/latin1 hinaus. Damit könnte er mittels einer PHP-Excel Klasse direkt auf die XLS Datei zugreifen, und liest die Datenobjekte mittels utf8_encode ein, womit sie dann für PHP im korrekten Format vorliegen
                    "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                    Kommentar


                    • #11
                      @treterpreter:

                      Wäre es dir möglich, eine von Excel erzeugte Beispieldatei (oder wenigstens den Anfang davon) hier zu posten? Damit könnte man sich die Spekulationen ersparen und nachprüfen, welches Unicode-Format du benötigst.

                      Zitat von treterpeter
                      ... die Frage ist doch welcher der vielen UTF codes zu dem "Unicode von Excel" passt. Die schreiben halt nicht genau hin mit was sie arbeiten.
                      Windows benutzt standardmäßig UTF16LE als (internes) Unicode-Format.

                      Mit den Locale-Einstellungen kannst du ein PHP-Script übrigens nicht dazu bringen, Unicode zu verarbeiten. PHP kann von sich aus kein Unicode, nur ein paar angebaute Erweiterungen können damit umgehen.

                      Zitat von eagle275 Beitrag anzeigen
                      es wäre mir völlig neu, dass Excel selbst unicode kann und verwendet - für diesen Fall benutzt er ja openoffice. Excel läuft jedenfalls nach meinem Kenntnisstand auf iso/latin1 hinaus. Damit könnte er mittels einer PHP-Excel Klasse direkt auf die XLS Datei zugreifen, und liest die Datenobjekte mittels utf8_encode ein, womit sie dann für PHP im korrekten Format vorliegen
                      Falls du Recht hast, ist es höchstwahrscheinlich nicht ISO-Latin-1 sondern Windows-1252. In den meisten Fällen gibts da zwar keine Probleme, aber utf8_encode() "kodiert" dann einige Zeichen falsch.
                      Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

                      Kommentar


                      • #12
                        Zitat von litterauspirna Beitrag anzeigen
                        Generell sind mir zwei Unterschiede in Unicode bekannt "utf8_unicode_ci" oder "utf_general_ci".
                        Hust, die beiden Kandidaten heißen "utf8_unicode_ci" und "utf8_general_ci" und die Unterschiede beziehen sich nur auf die Sortierung, nicht auf den Umfang oder die Speicherung der Zeichen. UTF-8 ist UTF-8 und wo Unicode drauf steht ist meist auch UTF-8 drin. Ich glaube jedenfalls nicht, dass Excel UTF-16 einsetzt, genaue Angaben hat mir eine schnelle Websuche aber auch nicht geliefert.
                        Je grösser der Dachschaden, desto schöner der Ausblick zum Himmel. - Karlheinz Deschner

                        Kommentar


                        • #13
                          Hier gibts ein VBA-Makro, mit dessen Hilfe man Excel dazu überreden können soll, CSV-Dateien in UTF-8-kodiert zu speichern:

                          Save the entire sheet as UTF8

                          ... und hier wird ein Addin beschrieben, das Ähnliches leisten soll:

                          An Excel Addin to work with Unicode CSV files
                          Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

                          Kommentar

                          Lädt...
                          X