Probleme site PHP multilingue en UTF-8

Nouveau WRInaute
Bonjour,

Je réalise un site multilingue FR, DE, ES, etc.. jusque là pas rien de bien complexe.
Mais je doit ajouter 2 autres langue le Russe et le Chinois et là ça se complique légèrement.
J'ai commencer pas le Russe et 1 problème dans le choix de l'interclassement.
Dans les autres langue j'étais en latin et comme déjà vue sur le forum le navigateur ne m'affiche que des ??????????????? à la place du textes en Russe.
Je suit donc les recommandation et passe l'interclassement en utf-8 ainsi que le charset=utf-8.

Et j'ai toujours la même erreur ?

Mais le plus surprenant c'est que lorsque j'ajoute du texte Russe en dur dans une page, là ca marche bien.

Je suppose donc que le problème est dans ma bd MySql ???

Pourriez-vous me dire si il y a solution?
Merci
 
WRInaute impliqué
Essaie ca :

A la récupération des données suite à une requête mysql dans ton code, il faut les réencoder en utf8. Tu as des fonctions spéciales pour ça.

Ne pas oublier :
d'encoder ton fichier php en utf8 (ca doit être le cas puisque ce qui est écrit en dur s'affiche bien)
de préciser dans le header que tu es en utf8

je me suis galéré pas mal de temps moi avec l'encodage, trop trop pénible...
Du coup je rentre toutes mes données avec les codes « é etc. dans la base de données.
 
WRInaute discret
Salut,

Perso à force de galérer comme Kanon90 j'ai pris l'habitude de coder comme ça :
Code:
$conn = ma connexion;
$conn->query("SET NAMES 'utf8'");
$conn->query("ma requête mysql'");

Bye,
 
Nouveau WRInaute
ok merci beaucoup pour vos réponses
Je vais mettre ca en pratique et reviens vers vous pour vous dire si c'est bon !
Mais avant encore une question dans Myadmin l'interclassement je renseigne quelle type : "UTF8_unicode_ci" ou "UTF8_bin" ?
je connais pas trop la différence entre chaque
 
Discussions similaires
Haut