Tom's Guide > Forum > Programmation > caracteres spéciaux et base de données

caracteres spéciaux et base de données

Forum Programmation : caracteres spéciaux et base de données

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonsoir,
Le contenu de ma BDD contient des caractères spéciaux. Je n'arrive pas à les afficher. J'ai changé la balise méta de la page, voilà ce que ça me fait :
- si je mets utf-8 : le contenu de la bdd s'affiche nickel mais le reste de la page non
- si je mets iso-8889-15 ou un autre iso : le contenu de la page est nickel mais c'est le contenu de la base qui passe pas

Dans la structure de ma base j'ai défini en latin1-swedish et ma page est au format ANSI. Je comprends vraiment rien à ces encodages... complètement perdu là lol. Merci !

------------------------------ Proce : Core 2 Duo E8400 / RAM : 3Go GSkill PC6400 / CM : Asus P5Q / Boitier : Antec Nine Hundred /
CG : ATI Radeon HD 4870 1go / Alim : Corsair VX 550W / HDD SaTa : WD 200Go, Samsung 320Go, Maxtor 200Go / OS : Windows XP SP2

 

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Déjà il faut que tu choissisent : UTF-8 ou ISO8859-15. A savoir que si tu es sous Windows les fichiers texte sont le plus souvent en ISO et en plus PHP gère mieux l'ISO. (cf strlen("é" ) qui peut renvoi 2 en UTF-8.

Donc dans ce cas, fichier et bdd en ISO et ensuite il faut vraiment éviter de changer. A savoir que les navigateur ne regarde pas la balise meta si l'en-tête HTTP spécifie un encodage. En configuration par défaut sous Debian/Ubuntu il spécifie. Dans ce cas soit tu change ta conf soit tu utilise la fonction header() de PHP :)

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

Salut,
Merci pour ta réponse.
Voilà ce que j'ai fais :
- fichiers php en ANSI
- base de données en latin1_general_ci
Et c'est toujours pareil, voilà ce que ça me ressort :
"éé" pour des accents
C'est bizarre, quand je remplace latin1-swedish par general-ci ça reste sur swedish...
Je comprends rien de rien là. Soit je suis bête soit y'a un problème lol.
Merci

------------------------------ Proce : Core 2 Duo E8400 / RAM : 3Go GSkill PC6400 / CM : Asus P5Q / Boitier : Antec Nine Hundred /
CG : ATI Radeon HD 4870 1go / Alim : Corsair VX 550W / HDD SaTa : WD 200Go, Samsung 320Go, Maxtor 200Go / OS : Windows XP SP2

 

Répondre à the stalker

Maintenant ça me sort des points d'interrogation... Quelle m***e ces histoires de format, d'interclassement, de charset et de je sais pas quoi. Quelqu'un aurrait-il une solution pour afficher des champs d'une BDD contenant des accents svp? Quel type de champ utiliser (apparemment le TEXT a l'air plus que limité en caractères spéciaux, à moins que ce soit moi qui soit limité ;) ) ? Quel format de page ? Quel interclassement ? etc
Encore merci !
PS : je crois que je vais faire mon site en anglais si ça continu

------------------------------ Proce : Core 2 Duo E8400 / RAM : 3Go GSkill PC6400 / CM : Asus P5Q / Boitier : Antec Nine Hundred /
CG : ATI Radeon HD 4870 1go / Alim : Corsair VX 550W / HDD SaTa : WD 200Go, Samsung 320Go, Maxtor 200Go / OS : Windows XP SP2

 

Répondre à the stalker

et ton en tete HTTP ? à priori je penche pour qu'il envoie du UTF-8. Fait affichage => encodage des caractères pour voir en quoi est mis ta page. pour voir le header HTTP utilise l'extension Live HTTP Header ou Web Developper Toolbar.

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

Salut,
Merci pour ton aide.
Non il est bien en ISO-8859-15...

------------------------------ Proce : Core 2 Duo E8400 / RAM : 3Go GSkill PC6400 / CM : Asus P5Q / Boitier : Antec Nine Hundred /
CG : ATI Radeon HD 4870 1go / Alim : Corsair VX 550W / HDD SaTa : WD 200Go, Samsung 320Go, Maxtor 200Go / OS : Windows XP SP2

 

Répondre à the stalker

Par contre, je viens de me rendre compte d'un truc. Quand je lance PhpMyAdmin à partir d'oVH, c'est à partir de là que je gère ma base et que mes données sont rentrées, il y a marqué : French(utf-8). (à l'endroit où l'on doit renseigner les champs utilisateur, mot de passe etc.
J'ai mis en iso mais ça ne change rien.
Voilà ce que j'ai dans mysql :
"Jeu de caractères pour MySQL: UTF-8 Unicode (utf8) " mais je peux pas y changer.
Interclassement : "latin1_general_ci"


Message édité par the stalker le 21-08-2008 à 09:41:02
------------------------------ Proce : Core 2 Duo E8400 / RAM : 3Go GSkill PC6400 / CM : Asus P5Q / Boitier : Antec Nine Hundred /
CG : ATI Radeon HD 4870 1go / Alim : Corsair VX 550W / HDD SaTa : WD 200Go, Samsung 320Go, Maxtor 200Go / OS : Windows XP SP2

 

Répondre à the stalker

Toujours personne ?
Je suis quand même pas le seul à vouloir afficher du texte français provenant d'une base de données ?
Merci :)

------------------------------ Proce : Core 2 Duo E8400 / RAM : 3Go GSkill PC6400 / CM : Asus P5Q / Boitier : Antec Nine Hundred /
CG : ATI Radeon HD 4870 1go / Alim : Corsair VX 550W / HDD SaTa : WD 200Go, Samsung 320Go, Maxtor 200Go / OS : Windows XP SP2

 

Répondre à the stalker

A priori les caractère spéciaux qui s'affiche sont typique de caractère en UTF-8 mais dont le PC client interprette en ISO.

ISO = 1 octet
UTF = 2 octet

résultat si tu as un caractère en UTF mais que tu spécifie ISO (cf entete HTTP) alors il affiche 2 caractères erronés.

Passe donc ton entete http en UTF-8.

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

Ok, merci SIM.
Je vais tout passer en UTF8 j'aurais moins de problème et puis l'utf8... c'est l'avenir :)

------------------------------ Proce : Core 2 Duo E8400 / RAM : 3Go GSkill PC6400 / CM : Asus P5Q / Boitier : Antec Nine Hundred /
CG : ATI Radeon HD 4870 1go / Alim : Corsair VX 550W / HDD SaTa : WD 200Go, Samsung 320Go, Maxtor 200Go / OS : Windows XP SP2

 

Répondre à the stalker

et c'est exactement pour cette raison que Tom's Guide est à la ramasse aujourd'hui :D

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07
Tom's Guide > Forum > Programmation > caracteres spéciaux et base de données
Aller à :

Il y a 379 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens