Encodage MySQL UTF-8 -> HTML iso-8859-1

Résolu
Utilisateur anonyme -  
patricia@84 Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   -
Salut,

J'ai un problème assez con avec mon site.
Il se trouve que ma base SQL est encodée en UTF-8 (Hébergé sur un serveur Linux).
Mais que les pages HTML affichent en iso-8859-1 (selon l'header HTML).

Du coup les caractères spéciaux s'affichent très mal.

J'aimerais connaître une solution pour que ces caractères s'affichent normalement.

J'utilise PDO pour accéder à la base. Lors de l'affichage du texte, je fais simplement :
echo htmlentities($letexte);


Mais lorsque j'essaie de contrer le problème, le texte ne s'affiche carrément pas.

Je suis complétement perdu donc.
Si vous savez comment résoudre ça, ce serait cool. Merci d'avance.
A voir également:

5 réponses

Utilisateur anonyme
 
Mais quand je mets la page en UTF-8, ça ne met toujours pas les bons caractères.
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonsoir,

la page doit pas seulement être en UTF8, le code source PHP/HTML doit AUSSI être en UTF8.

Avez-vus BIEN lu toute la page que je vous ai donné en lien?

A+
0
Utilisateur anonyme
 
Je n'avais pas vu que tu avais donné un lien désolé.

Bref j'ai encodé les fichiers aussi mais le problème persiste.

Je viens de voir que ma base est UTF-8 mais que mes champs sont à l'interclassement latin1_swedish_ci.

Le problème vient de là ?

J'ai changé un champ en utf8_unicode_ci mais les caractères ne changent pas.
Ils ne sont pas ré-encodés automatiquement ?
0
thibautB Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   1
 
utilise l'html5 avec le <!doctype html> et le <meta charset = "utf-8">
0
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Tu ferais mieux d'utiliser utf-8 dans tes pages et d'abandonner iso8*****.

Evidemmenent certains OS pourris et leurs logiciels proprios ne renedent pas la chose aisée.

Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
-1
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonjour,

La solution la plus simple: être 'full-UTF8' sur toute la chaîne de développement...

Toute autre solution en vous apportera que des emm....ents. de plus, en UTF8, plus besoin d'entités genre é en &eacute...

En savoir plus sur la chaîne full-UTF8:
http://html5.immo-scope.com/index.php?page=general/applisFullUtf8

A+
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
patricia@84 Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   9
 
Bonjour,

Avez-vous essayé, dans votre fichier de configuration, d'ajouter :
mysql_query("SET NAMES 'utf8'");
-1