Bonjour,

j'ai des pages php en utf-8 et lors que je vais chercher des données dans ma base je me retrouve avec des caractères bizarres...

http://www.toxikplanet.fr/soirees/20080517medievale1/

Ma base est encodé en utf8_roman_ci et sur phpmyAdmin les caractères s'affiche normalement.

J'ai beau lire tout les sujets qui traite de l'encodage des caractère je n'en voit pas le bout ...
Modifié par ToxiK (12 Aug 2008 - 11:32)
Bonjour,

Dans la colonne de gauche:
- le titre («Bienvenue...») est en ISO-8859-1;
- le paragraphe suivant est en UTF-8.

Si les deux textes viennent de la base de données, alors tu as probablement des données mal encodées dans ta base (le fait que les tables aient utf8_roman_ci pour interclassement ne garantit pas que les données qu'elles contiennent sont bien encodées). Si les textes viennent de deux sources différentes, par exemple de la base de données pour l'un et d'un fichier de template pour l'autre, eh bien tu as une erreur d'un côté ou de l'autre.

Pour ta base de données en MySQL, tu établis bien une connexion en UTF-8? (Avec un SET NAMES utf8, par exemple.)

PS: rien à voir, mais ça peut t'intéresser: http://web.covertprestige.info/test/46-centrer-image-conteneur-fixe.html
Modifié par Florent V. (12 Aug 2008 - 11:39)
J'ai ajouter mysql_query("SET NAMES, 'utf8'"); à ma connexion mais ça ne change rien.

Le titre et les commentaires viennent de la base, le reste est en dure dans la page qui est encodée en utf-8.

Comment faire pour convertir les données de ma base en utf-8.

(Je dois avoir dans la ma base des données et utf-8 et d'autre en iso)

ps : au fait merci pour le lien Smiley smile
Modifié par ToxiK (12 Aug 2008 - 13:14)
Finalement j'ai réussi avec la fonction php utf8_endode

Je vais faire ça pour toutes mes tables, il me semblait pourtant avoir déjà testé avec cette fonction, mais avec toutes les bidouilles que j'ai testé ça n'avais pas du marché (sûrement utilisé sur une page encodée en iso...)

Encore merci