Outre la définition de l' default_charset
en php.ini, vous pouvez envoyer le bon jeu de caractères à l'aide de header()
à partir de votre code, avant toute sortie:
header('Content-Type: text/html; charset=utf-8');
Travailler avec Unicode en PHP est facile aussi longtemps que vous vous rendez compte que la plupart des fonctions de chaîne ne fonctionne pas avec l'Unicode, et certains pourraient mutilation des chaînes complètement. PHP considère "caractères" à 1 de l'octet de long. Parfois, ce n'est pas grave (par exemple, explode()
recherche uniquement une séquence d'octets et l'utilise comme un séparateur -- donc il n'a pas d'importance réelle de caractères que vous recherchez). Mais d'autres fois, lorsque la fonction est en fait conçu pour le travail sur les personnages, PHP n'a aucune idée de ce que votre texte a des caractères multi-octets qui sont disponibles avec Unicode.
Une bonne bibliothèque pour vérifier en est phputf8. Cette réécrit tous les "mauvais" fonctions de sorte que vous pouvez travailler en toute sécurité sur les chaînes de caractères UTF8. Il y a des extensions comme l'extension mbstring que d'essayer de le faire pour vous, aussi, mais je préfère utiliser la bibliothèque parce que c'est plus portable (mais j'écris des produits de masse, il est donc important pour moi). Mais phputf8 pouvez utiliser mbstring derrière les scènes, de toute façon, pour augmenter les performances.