hawkmaster: UTF8 erkennen, mb_internal_encoding() ?

Beitrag lesen

Hallo Tom,

tja, das ist eigentlich schon ein interessantes Thema.
Es ist nämlich auch so, das fast in allen Anleitungen und Tutorials die ich gefunden habe, immer nur die Umstellung von PHP (also Header UTF8), dann noch SET NAMES .., des MySQL Servers und vielleicht noch des Apache erwähnt werden.

Die ganze Problematik wie ich sie nun erlebt habe, also mit Datei- und Verzeichniszugriffen wird fast nie erwähnt.
Auch sehr wenig Hinweise gibt es, das es mit den "alten" String Funktionen Probleme geben kann.

Ich denke wenn man weiss das das ganze System, also die Webanwendung mit Apache und PHP und auch MySQL auf UTF8 laufen und auch so bleiben, könnte man ja schon alles ändern und anpassen.
Die Frage stellt sich mir: Könnte man es auch so hinbekommen, dass alles sowohl mit ISO bzw. latin1 läuft als auch UTF8?

z.b. habe ich z.b. einige str_len Funktionen die die Länge eines Wortes das aus der DB kommt, ermittelt.

  
//$len_filename = strlen($row['FileName']);//vorher  
$len_filename = mb_strlen($row['FileName'], 'utf8');  

Das habe ich jetzt geändert auf mb_strlen weil die Zeichenanzahl nicht mehr stimmte, wenn Umlaute drin waren.
Jetzt weiss ich das die DB in UTF8 läuft. Was aber wenn jemand alles wieder auf ISO umstellt?
Wie würdest du denn vorgehen?

PS: echo "der zeichensatz ist " . mb_internal_encoding();
bringt bei mir die Ausgabe:
der zeichensatz ist ISO-8859-1
aus was bezieht sich aber die Funktion? Auf den Zeichensatz des Betriebssystems? Alle meine Scripte laufen ja auf UTF8.
Ich habe im Manual nichts dazu gefunden?

ausprobieren! Du wirst sehen, dass es nur für Code(s|points) unterhalb 128 egal ist, weil dort die Definitonstabellen deckungsgleich sind.

http://selfhtml.bitworks.de/utf8.php

Ich werde es  mal ausprobieren und vielleicht mal alles wieder auf ISo umstellen, die UTF_decode und ms_string Funktionen drinlassen.

vielen Dank und viele Grüße
hawk

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