CodeIgniter config jeu de caractères et le support UTF-8
Je travaille sur un site web qui utilise /stocke les caractères accentués dans la base de données. J'ai le modèle de page de jeu de sorte que les config.php jeu de caractères de la variable correspond au paramètre, par exemple:
<meta charset="<?php echo $this->config->item('charset');?>">
Le problème, je vais avoir, c'est, quand $config['charset']
est fixé à UTF-8, le formulaire de validation échoue et c'est comme si les personnages étaient soumises si un caractère accentué est inclus. Ainsi, par exemple, un champ obligatoire va rebondir si µ est inclus dans la chaîne. La chaîne moins les plats fonctionne très bien.
J'ai réussi à le faire fonctionner en changeant la $config['charset']
à ISO-8859-1 et de conversion de texte en UTF-8 avant l'insertion, après l'extraction de la base de données avec php utf8_encode()
et utf8_decode()
. Est-ce la meilleure façon ou ai-je raté quelque chose de nécessaire afin d'obtenir l'UTF-8, les caractères accentués, travaillant dans CodeIgniter?
Des conseils appréciés.
- Assurez-vous de définir partout UTF-8. Il est difficile de dire ce qui va mal, mais probablement à un certain point, vous avez un jeu de caractères différent. Faut lire: joelonsoftware.com/articles/Unicode.html .
Vous devez vous connecter pour publier un commentaire.
Vous devez vous assurer que vous utilisez UTF-8 partout, et que PHP et MySQL sont configurer pour gérer l'UTF-8.
Dans le code html, ajouter les méta-tag:
Et l'enregistrer au format UTF-8. voici comment faire cela dans notepad++.
Définir les tables MySQL à l'appui de l'UTF-8, créer une table avec:
Et paramétrer la connexion avec:
Activer UTF-8 dans le
php.ini
:Pour un plein contrôle manuel La Manipulation De L'Unicode Avant En Arrière Dans Une Application Web