dedlfix: Aus ü wird ü ??

Beitrag lesen

Hi!

  1. aus PHP heraus eine Datei "täßt.txt" angelegt. Diese ist im Dateisystem dann auch als "täßt.txt" sichbar bzw. wird genauso angelegt.

In welcher Kodierung ist das PHP-Script gespeichert?

  1. Eine PHP Seite mit einem Textfeld. Hier wird der Name Rüdesheim eingegeben. Ein Submit legt das verzeichnis auf Dateiebene an.
    Nun gibt es im Verzeichnis das Verzeichnis aber nicht mit ü sondern;
    Rüdesheim

Das deutet darauf hin, dass das PHP-Script als ISO-8859-1 (oder Windows-1252) kodiert ist. Die Daten vom Browser kommen UTF-8-kodiert und werden vom PHP-Script nur durchgereicht. Als Schlussfolgerung will also auch das Dateisystem in ISO-8859-1/Windows-1252 angesprochen werden.

Das heißt also, dass du von und zum Dateisystem UTF-8-kodieren und -dekodieren musst, wenn du da ordentliche Umlaute sehen möchtest. Das ist theoretisch verlustbehaftet, zumindest in Richtung ISO-8859-1. Doch praktisch wird das nicht weiter stören, weil du vermutlich nur Zeichen aus ISO-8859-1 verwenden wirst.

sowohl in PhpMyAdmin als auch QueryBrowser, oder andere SQL Browser zeigen die Umlaute als Ü, ä oder ö an.
Auch ein Dump bzw. Export in eine sql Datei und anschauen mit Texteditor zeigt mir die Umlaute als Ü Ö Ä an.
Liegt nun das Ü in der Datenbank als Ü vor oder als Hex C3BC oder als ü vor und die Betrachter zeigen es nur als Ü an?

Wie etwas in der Datenbank liegt ist aus der Sicht von Anwendungen irrelevant. Das ist eine Blackbox, die allein über die SQL-Statements angesprochen wird. Wichtig ist nur, welche Kodierung beim Kommunizieren gesprochen wird.

Der PMA und die anderen werden sich die Kodierung passend ausgehandelt haben und geben das ihrerseits passend (kodiert und deklariert) ans Ausgabemedium weiter. Bei den Export-Tools kannst du angeben, welche Kodierung zu verwenden ist. Das sollte man auch explizit tun, sonst bekommt man die Daten in irgendeiner Default-Kodierung. Gegebenenfalls kodiert MySQL zwischen der Feldkodierung und der Export-Kodierung (manchmal prinzipbedingt verlustbehaftet) um.

So, jetzt weiss ich ehrlich gesagt nicht so recht was ich ändern muss / soll.
Müssen alle Umlaute wie Ä, Ü und Ö z.b. als a¨ also umgewandelt in der DB gespeichert werden?

Nein, keinesfalls. Von und zum DBMS hast du ja kein Problem, da sprichst du ordentliches UTF-8. Dein Problemfeld ist momentan nur die Kommunikation mit dem Dateisystem.

Lo!

0 63

Umstellung auf UTF8 gelungen?

hawkmaster
  • datenbank
  1. 0
    hotti
    1. 0
      hawkmaster
      1. 0
        Tom
        1. 0
          hawkmaster
          1. 0
            Tom
            1. 0
              hawkmaster
              1. 0
                Tom
                1. 0
                  hawkmaster
                  1. 0
                    dedlfix
                    1. 0
                      hawkmaster
                      1. 0
                        dedlfix
                        1. 0
                          hawkmaster
                          1. 0
                            dedlfix
                            1. 0

                              Aus ü wird ü ??

                              hawkmaster
                              1. 0
                                dedlfix
                                1. 0
                                  hawkmaster
                                  1. 0
                                    dedlfix
                                    1. 0
                                      hawkmaster
                                      1. 0
                                        dedlfix
                                        1. 0

                                          vielleicht auch nur ein Bug?

                                          hawkmaster
                                          1. 0
                                            Sven Rautenberg
                                            1. 0
                                              hawkmaster
                                              1. 0
                                                Sven Rautenberg
                                          2. 0
                                            dedlfix
                                      2. 0
                                        Tom
                                        1. 0
                                          hawkmaster
                                          1. 0
                                            Tom
                                        2. 0
                                          Sven Rautenberg
                                    2. 0
                                      Tom
                                      1. 0
                                        dedlfix
                                    3. 0
                                      hawkmaster
                                      1. 0
                                        Tom
                                        1. 0

                                          UTF8 erkennen, mb_internal_encoding() ?

                                          hawkmaster
                                          1. 1

                                            Zugriff über den Index-Operator auf einen UTF-8-String?

                                            Tom
                                            1. 0
                                              Sven Rautenberg
                                              1. 0
                                                hawkmaster
                                                1. 2
                                                  Sven Rautenberg
                                                  1. 0
                                                    Christian Kruse
                                              2. 0
                                                Tom
                                      2. 0
                                        Sven Rautenberg
                            2. 0
                              Tom
                              1. 0
                                dedlfix
                                1. 0

                                  TOM und ТОМ

                                  Tom
                                  • menschelei
                              2. 0
                                Der Martin
                                1. 0
                                  at
                  2. 0
                    Tom
                    1. 0
                      hawkmaster
          2. 0
            hotti
  2. 0
    Harlequin
    1. 0
      hawkmaster
      1. 0
        Harlequin
    2. 0
      Tom
      1. 0
        Harlequin
        1. 0
          Tom
  3. 0
    Tom
    1. 0
      hawkmaster
      1. 0
        Tom
        1. 0
          hawkmaster
          1. 0
            Tom
  4. 0

    str_pad() multibyte?

    hawkmaster
    1. 0
      Tom
    2. 0
      Sven Rautenberg