JeuWeb - Crée ton jeu par navigateur
problème d'encodage - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : problème d'encodage (/showthread.php?tid=963)



problème d'encodage - gtsoul - 21-03-2007

J'ai récemment passé mes pages web du charset iso-8859-1 à utf8, et effectué une migration windows ->ubuntu d'une partie de mon environnement de dev'.
Cependant j'ai quelques problèmes d'encodage lorsque je sors des données depuis ma base (interclassement latin1_swedish_ci).
Les caractères à / é / è / ê .... sont mal affichés.

1. Comment convertir proprement des fichiers sources programmés sous windows (et donc en iso) pour les mettre en unicode ? (autrement qu'à la main)
2. Comment régler ce problème d'encodage sur ma bdd ?

Je précise que lorsque que mes accès bdd se font par l'intermédiaire de xajax (donc d'un fichier xml avec l'indication du charset), il n'y a aucun problème.


RE: problème d'encodage - Roworll - 22-03-2007

Arf. J'ai pas mal galéré la dessus aussi.

J'ai pour ma part une base de données de "production" ou il m'est impossible de spécifier l'interclassement et c'était la galère pour récupérer les infos au bon format.

Je ne me souviens plus de la manière dont j'ai passé le soucis mais je crois qu'en utilisant mysql_query("SET NAMES 'utf8'");
après ta connexion, ça peut arranger les choses.


RE: problème d'encodage - gtsoul - 22-03-2007

ca marche à peu près :

j'ai changé l'interclassement des champs text/varchar, des tables et de la base de données à la main pour les remplacer avec utf8_general_ci (très long, je n'ai pas réussi à convertir)
puis j'ai appliqué la méthode $mysql->set_charset('utf8') après la déclaration de connexion
enfin j'ai recodé toutes mes sources en utf8 en utilisant iconv

par contre j'ai toujours quelques problèmes pour envoyer des requêtes en utf8


RE: problème d'encodage - Roworll - 22-03-2007

Attention SET NAMES et SET CHARACTER SET sont différents
http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html

une autre page sur l'UTF-8 :
http://electron-libre.fassnet.net/utf8.php

Verifie aussi les options de PhpMyAdmin pour les connections et l'affichage des infos.
Il se peut que tu ais le bon format en base mais que ce soit affiché de travers.