Frage

Wie wir alle jetzt, multibyte Umgang mit Strings nicht so einfach in PHP ist. Zum Beispiel möchte ich die Länge der folgenden Zeichenkette erhalten: ä

strlen('ä'); // 2, because ä equals 2 bytes
mb_strlen('ä', 'UTF-8'); // 1
iconv_strlen('ä', 'UTF-8'); // 1

Welche Funktionen soll ich verwenden? Die mb_ * oder iconv_ *? Warum? Bedenkt man, dass die Codierung auf UTF-8 nicht beschränkt werden kann.

Thx im Voraus!

War es hilfreich?

Lösung

Haben Sie einen Blick auf diese Powerpoint-Präsentation:

http://www.nyphp.org/content/ Präsentationen / Smallworld / April2006-NYPHP-Presentation.ppt

Auf den Punkt gebracht: Iconv unterstützt mehr Codierungen, ist aber weniger tragbar.

Von der Präsentation:

  

PHP unterstützt Multi-Byte in zwei   Erweiterungen: iconv und mbstring

     
      
  • iconv verwendet eine externe Bibliothek (mehr Kodierungen unterstützt, aber weniger   portable)
  •   
  • mbstring hat die Bibliothek im Paket mit PHP (weniger Codierungen aber mehr   portable)
  •   
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top