PHP mbstring.func_overload vs utilisation de fonctions mbstring [dupliquer]
Question
Cette question a déjà une réponse ici:
Je souhaite conformer la gestion des chaînes de mon site pour prendre en charge d'autres langues par UTF-8. Il semble que le meilleur moyen de le faire est d’abandonner toutes les fonctions de chaîne standard.
Donc, j'ai deux options, je peux définir l'option mbstring.func_overload
dans php.ini ou je peux revenir en arrière sur mon code et simplement remplacer toutes les fonctions par mb _ *
. Je suppose que la deuxième option sera plus facile pour les personnes utilisant mon code car elles n'auront pas à changer leur configuration de serveur. (s’ils le peuvent même!)
Qu'en est-il de la sortie de PHP 6? Est-ce que cela devrait montrer quelque chose de mon choix, car cela supportera un traitement multi-octets approprié.
La solution
Je pense que l'argument contre mbstring.func_overload
est que si vous utilisez une bibliothèque / du code tiers, ce code peut s'appuyer sur le code " normal " fonctionnalité des fonctions en question - par exemple, il peut s’appeler substr () pour tronquer une chaîne contenant des données binaires à une limite d’octet exacte, ou utiliser strlen () pour obtenir la longueur en octets, plutôt que la longueur en caractères UTF-8.
Voir aussi: Devrais-je utiliser la surcharge multi-octets (mbstring. func_overload)?