Steffen: UTF-8 festlegen

Beitrag lesen

Hi,

das ist dann ein relativ sicheres Zeichen, dass der aus _dieser_ Quelle stammende Text eben _nicht_ in UTF-8 codiert ist, sondern vermutlich irgendeine 1-Byte-Codierung wie ISO-8859-x, so dass Bytesequenzen auftreten, die in UTF-8 ungültig sind.

Doch, die Eingabe ist in UTF-8 codiert, und ich habe jetzt auch die Ursache.
Ich möchte das erste Zeichen eines Strings verwenden für Vergleiche u.a., also
substr($text(0,1)).
Das geht aber bei Umlauten schief:

  
<?php  
header('Content-Type: text/html; charset=UTF-8');  
echo <<<TXT  
<!DOCTYPE html>  
<html lang="de">  
<head>  
<meta charset="UTF-8">  
</head>  
<body>  
TXT;  
  
  
   $string='Apfel';  
   $key = substr($string,0,1);  
   echo "$key <br>";             // => A   ok  
  
   $string='Äpfel';  
   $key = substr($string,0,1);  
   echo "$key <br>";             // => ?   (hex'c3')  
  
   $key = substr($string,0,2);  
   echo "$key <br>";             // => Ä   ok  
  
  
echo <<<TXT  
</body>  
</html>  
TXT;  
?>

Nun weiß ich doch zunächst nicht, ob das gewünschte Zeichen ein Umlaut ist, um dann zu entscheiden, ob ich mit substr 1 oder zwei Bytes lese.
Wie löst man das am einfachsten?
Danke Steffen

0 70

UTF-8 festlegen

Steffen
  • php
  1. 0
    T-Rex
    1. 0
      Gunnar Bittersmann
  2. 0
    Der Martin
    1. 0
      Steffen
      1. 0
        Tom
        1. 0

          UTF-8 festlegen - Autsch

          Steffen
          1. 0
            hotti
            1. 0
              Steffen
              1. 0
                ChrisB
                1. 0
                  Steffen
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      Steffen
                      1. 0
                        Auge
                        1. 0
                          Tom
                          1. 0
                            Auge
                            1. 0

                              Autsch - falscher Vorposter :-)

                              Tom
                              • menschelei
                          2. 0
                            Steffen
                        2. 0
                          Steffen
                          1. 0
                            Auge
                            1. 0
                              dedlfix
                  2. 0

                    UTF-8 festlegen - PHP kann das nicht durchgehend

                    dedlfix
              2. 1
                hotti
              3. 0
                Tom
          2. 0
            Tom
            1. 0
              Steffen
              1. 0
                ChrisB
              2. 0
                Der Martin
                1. 0
                  Gunnar Bittersmann
                2. 0
                  Steffen
                  1. 0
                    ChrisB
                  2. 0
                    Gunnar Bittersmann
                    1. 0
                      dedlfix
                3. 0
                  Steffen
                  1. 0
                    Der Martin
                    1. 0
                      Steffen
                      1. 0
                        dedlfix
                4. 0
                  Tom
                  1. 0
                    Gunnar Bittersmann
              3. 0

                UTF-8 festlegen, Escaping, Request-Parameter, Response-Daten

                Tom
  3. 0
    Tom
    1. 0

      UTF-8 festlegen, Pragma oder einfeas Meta...

      Tom
  4. 0

    Datei als UTF-8 speichern

    Rowland
    1. 0
      Tom
      1. 0
        Matthias Apsel
        1. 0

          Darstellung vom Ersatzzeichen

          Olaf
        2. 0
          Gunnar Bittersmann
      2. 1
        ChrisB
    2. 0
      Gunnar Bittersmann
      1. 0
        Rowland
        1. 0
          Gunnar Bittersmann
          1. 0
            Rowland
            1. 0
              Gunnar Bittersmann
              1. 0
                Rowland
                1. 0
                  Gunnar Bittersmann
                2. 0
                  1UnitedPower
            2. 0
              Tom
              1. 0
                Gunnar Bittersmann
                1. 0
                  Tom
        2. 0
          1UnitedPower
        3. 0
          Matthias Apsel
      2. 0
        WernerK
        1. 0
          Matthias Apsel
        2. 0
          Gunnar Bittersmann
          1. 0
            WernerK
            1. 0
              Der Martin
              1. 0
                WernerK
                1. 0
                  Der Martin
                2. 0
                  Gunnar Bittersmann
                3. 0
                  Tom