2009-12-03 8 views
1

Pendant que je convertissait ma base de données mysql latin-1 en utf-8 je suis tombé sur this article (http://developer.loftdigital.com/blog/php-utf-8-cheatsheet)UTF-8, et l'extension mbstring en php

s'il vous plaît noter J'ai réussi à convertir ma base de données et mon application semble fonctionner/sortir correctement

Le lien mentionné ci-dessus indique l'installation et l'utilisation de l'extension mbstring et des fonctions. Cela ne semble pas nécessaire, est-ce quelque chose que je devrais considérer, ignorer ou avoir à faire?

Merci d'avance!

Répondre

3

Vous rencontrerez probablement des problèmes lors de l'utilisation de fonctions de manipulation de chaînes, maintenant que tout est en UTF-8. Vous pouvez éviter cela si vous activez l'option "mbstring.func_overload" qui va remplacer les fonctions intégrées de PHP avec celles de Mb_ * (ou remplacer les fonctions intégrées par des fonctions Mb_ * à la main). Voir this page in the PHP manual

2

Tout d'abord, mbstring n'est pas une matière DB, mais plutôt des PHP. Et deuxième - oui, vous devriez avoir cette extension si vous voulez faire quelque chose avec vos chaînes en PHP - par exemple en comparant ou en divisant. L'exemple le plus simple consiste à remplir une certaine longueur (comme si vous aviez un aperçu d'article dans la liste de recherche), si vous utilisez des fonctions PHP standard, ils fonctionnent sur des octets uniques et peuvent couper un caractère UTF.

Vous pouvez surcharger certaines variables si vous contrôlez le serveur Web. Mais pour rendre le code plus portable, je suggère d'utiliser explicitement les fonctions de mb_ *. La plupart des serveurs Web ont cette extension activée aujourd'hui.