Question

C'est, si je suis tout à fait quelque chose de codage en PHP4? Ou peut-être que je devrais utiliser une fonction personnalisée ou une classe / l'extension au lieu de compter le nombre de caractères dans une chaîne multi-octets?

La seule différence que je peux repérer est que mb_string bandes les mauvaises séquences, alors que iconv_strlen ne fonctionne pas.

Était-ce utile?

La solution

Si vous voulez un remplacement drop-in pour strlen plaine, utilisez mb_strlen comme il retourne toujours un entier. Ceci est très discutable si (l'exactitude de iconv sur la tolérance de mb), mais dans la tolérance aux pannes de mb_strlen pratique me mieux servi. Assurez-vous de configurer Mo à l'encodage souhaité soit dans php.ini ou dans un endroit central dans votre application.

prise en charge Unicode dans PHP est un mauvais endroit, vous devez être conscient des nombreux pièges et exceptions. Après avoir fait un passage complet de plusieurs grandes applications et leurs données utilisateur en UTF-8, je pourrais vous pleurer une rivière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top