Georg: fopen -> aus UTF-8 in ISO 8859-2 machen

Moin,

ich erzeuge in PHP eine CSV-Datei (fopen), diese liegt im Format UTF-8 vor. Das Problem was ich nun habe ist das ich diese aber im Format ISO 8859-2 benötige damit selbige in Exel geöffnet werden kann. Wie kann ich dieses am sinnvollsten erreichen?

VG

  1. Hallo,

    damit selbige in Exel geöffnet werden kann. Wie kann ich dieses am sinnvollsten erreichen?

    utf8 in Excel öffnen. Oder wie alt ist dein Excel?

    Gruß
    Kalk

    1. Hello,

      Hast Du das auch mal als Webressource ausprobiert?
      Das habe ich bisher immer nur Erfolg gehabt, wenn man für die Feldtrenner Tab, und nicht Komma oder Semikolon benutzt. Und da es schon eine Weile her ist, (Excel 2003), hatte ich ohnehin noch ISO-8859-1, was aber keine Probleme gemacht hat.

      Hallo,

      damit selbige in Exel geöffnet werden kann. Wie kann ich dieses am sinnvollsten erreichen?

      utf8 in Excel öffnen. Oder wie alt ist dein Excel?

      Gruß
      Kalk

      Liebe Grüße
      Tom S.

      --
      Es gibt nichts Gutes, außer man tut es
      Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
  2. Hello,

    brauchst Du da nicht eher Windows-1252?

    Und dann sollten dir die Konvertierfunktionen helfen.

    Ich würde die Datei einmal mit fgetcsv() einlesen und Zeile für Zeile konvertiert wieder wegschreiben.

    Da die Codepoints der Steuerzeichen aber alle unter 128 liegen sollten. könnte man vielleicht sogar die komplette Datei als String konvertieren. Das habe ich jetzt aber nicht ausprobiert (Tablet).

    Liebe Grüße
    Tom S.

    --
    Es gibt nichts Gutes, außer man tut es
    Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
    1. Moin,

      das Problem liegt darin das der KD die Datei in seinem Exel öffnen will - und weil das noch nicht reicht es ist soweit mir bekannt ist ein Wirtschaftinformatiker mit Mac/Exel-Kombi… Von daher sehe ich nur den sinnvollsten Weg die Datei direkt in "seinem" Lieblingsformat anzulegen. "wenn ich das in phpmyadmin mit iso... klappt das" :-(

      VG

      1. Hello,

        dann schieb doch mal testhalber die komplette Datei (als String) durch iconv() und berichte, ob das klappt.

        Liebe Grüße
        Tom S.

        --
        Es gibt nichts Gutes, außer man tut es
        Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
      2. Von daher sehe ich nur den sinnvollsten Weg die Datei direkt in "seinem" Lieblingsformat anzulegen.

        Nein. Sinnvoll sind kompatible Datenaustauschformate einschließlich einer Zeichenkodierung die einen plattform- und sprachunabhängigen Datenaustausch unterstützt: UTF-8

        soweit mir bekannt ist ein Wirtschaftinformatiker mit Mac/Exel-Kombi…

        Ich frag mich was der gelernt hat wenn er mit UTF-8 nicht zurechtkommt.

        MfG

        1. Hello,

          soweit mir bekannt ist ein Wirtschaftinformatiker mit Mac/Exel-Kombi…

          Ich frag mich was der gelernt hat wenn er mit UTF-8 nicht zurechtkommt.

          Frag doch lieber, ob sein Excel schon abgeschrieben ist [1].
          Und unter dem Gesichtspunkt der Gewinnmaximierung kann man eine alte Technik ohne Weiteres solange einsetzen, wie sie fehlerfrei in kürzest möglicher Zeit genau das leistet, was man braucht.

          [1] Die meisten Finanzämter vertreten die Meinung, dass Software erst mittels Sonderabschreibung abgeschrieben werden darf, wenn sie endgültig außer Betrieb genommen wird...

          Liebe Grüße
          Tom S.

          --
          Es gibt nichts Gutes, außer man tut es
          Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
          1. Hi lieber Tomtom,

            UTF-8 ist alte Technik.

            Der Euro-Patch für MSosse ist mindestens 20 Jahre alt, da hatte ich noch NT4 auf meiner Kiste 😉

            Pff. Freecell statt Excell!!!

    2. Tach!

      Ich würde die Datei einmal mit fgetcsv() einlesen und Zeile für Zeile konvertiert wieder wegschreiben.

      In dem Fall müsstest du sie Zeile für Zeile und Wert für Wert konvertieren.

      Da die Codepoints der Steuerzeichen aber alle unter 128 liegen sollten. könnte man vielleicht sogar die komplette Datei als String konvertieren. Das habe ich jetzt aber nicht ausprobiert (Tablet).

      Die Trennzeichen sind auch Zeichen, und selbst wenn sie außerhalb von ASCII lägen, müssten sie in der Zielkodierung gespeichert werden. Insofern ist es kein Problem, die Datei in einem Stück zu konvertieren.

      dedlfix.

      1. Moin,

        werde es jetzt einmal mit iconv probieren und dem KD so bereitstellen. Das Ergebnis werde ich dann hier einmal posten.

        Manchmal habe ich den Eindruck das ich nur "Kunden aus der Hölle" habe… "Das habe ich schon mal gesehen...", "bei XYZ geht das auch", "wiso kann man die transparente Linie nicht blau machen..." 😟 Ich sollte ein Buch schreiben…

        Vielen Dank & LG

        1. @@Georg

          Manchmal habe ich den Eindruck das ich nur "Kunden aus der Hölle" habe…

          ausderhoelle.de

          "wiso kann man die transparente Linie nicht blau machen..." 😟

          Du bist schließlich der Experte.

          Ich sollte ein Buch schreiben…

          Na so was?

          LLAP 🖖

          --
          “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
      2. Hello,

        Die zeilenweise Umkodierung mit fgetcsv() kann notwendig sein, wenn die Feldtrenner durch Tabs ersetzt werden müssen.

        Da die Codepoints der Steuerzeichen aber alle unter 128 liegen sollten. könnte man vielleicht sogar die komplette Datei als String konvertieren. Das habe ich jetzt aber nicht ausprobiert (Tablet).

        Die Trennzeichen sind auch Zeichen, und selbst wenn sie außerhalb von ASCII lägen, müssten sie in der Zielkodierung gespeichert werden. Insofern ist es kein Problem, die Datei in einem Stück zu konvertieren.

        Stimt auch ;-)

        Liebe Grüße
        Tom S.

        --
        Es gibt nichts Gutes, außer man tut es
        Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
  3. Tach!

    ich erzeuge in PHP eine CSV-Datei (fopen), diese liegt im Format UTF-8 vor. Das Problem was ich nun habe ist das ich diese aber im Format ISO 8859-2 benötige damit selbige in Exel geöffnet werden kann.

    Hast du es mal mit Voranstellen der UTF-8-BOM probiert?

    dedlfix.

    1. Moin,

      also die Umwandlung (hierbei komplett, d.h. ich jage den gesamten String auf einmal durch die Umwandlung) hat mit iconv("UTF-8", "ISO-8859-2//TRANSLIT", $orgtxt); das gewünschte Ergebnis gebracht, d.h. das die erzeugte CSV in Exel direkt geöffnet werden kann.

      Vielen Dank für eure Hilfe!

      VG

    2. Hast du es mal mit Voranstellen der UTF-8-BOM probiert?

      Hallo, ja, auch das hatte ich schon durch, leider ist die Kombi Wirtschaftsinformatiker, Mac und Exel eine wirklich d******e Situation. VG