Dois-je utiliser MB_ * ou iconv_ fonctions * pour les chaînes multi-octets?
Question
Comme nous tous maintenant, la gestion des chaînes multi-octets est pas facile en PHP. Par exemple, je veux obtenir la longueur de la chaîne suivante: ä
strlen('ä'); // 2, because ä equals 2 bytes
mb_strlen('ä', 'UTF-8'); // 1
iconv_strlen('ä', 'UTF-8'); // 1
Quelles fonctions dois-je utiliser? Le MB_ * ou iconv_ *? Pourquoi? Considérant que le codage ne peut être limitée à UTF-8.
Thx à l'avance!
La solution
Jetez un oeil à cette présentation Powerpoint:
http://www.nyphp.org/content/ présentations / Smallworld / April2006-nyphp-Presentation.ppt
En bref: Iconv plus encodages, mais est moins portable.
De la présentation:
PHP supporte plusieurs octets en deux extensions: iconv et mbstring
- iconv utilise une bibliothèque externe (prend en charge plus encodages mais moins portable)
- mbstring a la bibliothèque fournie avec PHP (moins encodages mais plus portable)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow