Bonjour,
J'ai un projet sur lequel je travaille depuis quelque temps déjà: mettre à jour un système de gestion de bibliothèque. Le logiciel existant tourne sous Mandrake (pas tout neuf donc...), il a été codé en PHP et utilise MySQL.
Dans un premier temps, j'ai réussi à exporter la base de données, apparemment en codage iso occidental, et à la réimporter en UTF8 dans une nouvelle base mysql. J'ai fait cela en convertissant le fichier exporté en UTF8 avec mon éditeur de texte, ça a bien fonctionné.
Je souhaite maintenant utiliser une base sqlite à la place de mysql, et je rencontre des problèmes. je n'arrive pas à importer la base en UTF8 et/ou à m'en servir en UTF8 avec PHP.
Actuellement je me sers de la base à travers PHP en utilisant les fonction utf8_encode (recherches, enregistrements) et utf8_decode (lecture). Ça fonctionne plutôt bien comme ça, mais je ne sais pas si c'est bien? D'ailleurs en faisant plusieurs tests d'import de la base, je devais parfois inverser les fonctions utf8_decode et utf8_encode. Et je trouve étonnant que même en lançant des requêtes SQL dans un terminal, les résultats ne sont pas bien décodés (sqlite3 Linux et sqlite.exe).
Pour info je fais des tests avec du Linux (avec Apache et les logiciels de la Debian testing) et Windows (Xampp), et les fichiers PHP sont encodés en utf8.
J'ai fait des recherches là dessus, mais je n'ai pas trouvé de solution (ou je n'ai pas compris...). Il paraîtrait que la version sqlite de PHP ne gère pas très bien l'utf8... mais comment faire alors pour avoir quelque chose de cohérent? (Je ne suis pas contre utiliser autre chose qu'UTF8 pour la base).
Je vous remercie d'avance pour votre aide.
Partager