Problème d'encodage

Problème d'encodage - PHP - Programmation

Marsh Posté le 10-05-2007 à 21:47:49    

Bonjour à tous,
 
Dans le cadre d'un site multilangue, je dois mettre en place une version russe. J'arrive à afficher des caractères cyrilliques "en dur" quand je les saisis directement dans mon éditeur de code en encodant ma page en UTF-8.
Cependant je n'arrive pas à afficher des données stockées dans ma bdd (MySQL) sur cette même page, elles sont remplacées par des "?".
 
Quelqu'un saurait-il quel encodage utiliser, aussi bien coté page web que coté bdd pour que ça puisse marcher?
 
Merci de votre aide.


Message édité par Fr3d69 le 10-05-2007 à 21:48:18
Reply

Marsh Posté le 10-05-2007 à 21:47:49   

Reply

Marsh Posté le 10-05-2007 à 22:23:36    

Ta base de données utilise quel charset ? utf8_unicode_ci est bien je crois pour gérer de l'internationalisation (à vérifier avec d'autres réponse sur ce topic).

Reply

Marsh Posté le 11-05-2007 à 00:59:14    

Ma bdd est bien en utf8_unicode_ci et ma page un utf8.
Lorsque je verifie le contenu via phpMyAdmin les données sont bien stockées en cyrillique et sont lisibles.
Je ne vois pas du tout d'ou vient le probleme :(

Reply

Marsh Posté le 11-05-2007 à 11:33:51    

Le problème vient surement de la connexion entre ta page et ta bdd, qui est par défaut en iso (mysql fait la conversion, croyant que tu demandes des données en iso). Donc essaye d'executer "set names utf8;" à chaque connexion à la base, pour dire à mysql que tu veux les données en utf8.


---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le 12-05-2007 à 03:37:23    

Ou tu le rentres dans la config.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
Reply

Marsh Posté le 12-05-2007 à 22:16:45    

CREATE DATABASE `ma_petite_base` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 24-05-2007 à 10:11:53    

Merci pour vos réponses. Désolé de répondre que maintenant mais j'ai pas trouvé le temps de tester avant.
Ca marche nikel. Pour info, il suffit de faire mysql_query("SET NAMES 'utf8'" ); après la connexion à mySQL (merci cgo2 ;)).

Reply

Marsh Posté le 24-05-2007 à 23:20:28    

Merci cg02 +1, j'avais le même problème.


---------------
Directeur Technique (CTO)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed