Sollte ich mb_ * oder iconv_ * Funktionen für Multibyte-Strings?
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!
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