Codage caractére accentué

Résolu/Fermé
apprentiDev Messages postés 154 Date d'inscription dimanche 2 mai 2010 Statut Membre Dernière intervention 1 mai 2013 - 1 juil. 2010 à 10:20
apprentiDev Messages postés 154 Date d'inscription dimanche 2 mai 2010 Statut Membre Dernière intervention 1 mai 2013 - 1 juil. 2010 à 12:00
Bonjour,


Avant de parler du problème je vais expliquer le contexte. Je travail sur un base de donnée qui contient du texte avec des accents.

Je veux afficher mon texte avec les accents mais a la place des caractéres accentués j'ai une sorte de losange avec un point d'interrogation.

J'ai pourtant mis le doctype et le header en tout début de code php ( avant même les POST= NomVariable)

Voici le code :
<?php
header('Content-Type: text/html; charset=ISO-8859-1');
echo'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';

echo'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">';



Quel est l'élément que j'ai oublié?

En vous remerciant par avance de vos réponses.
ApprentiDev

A voir également:

6 réponses

Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
1 juil. 2010 à 10:23
Remplace :
header('Content-Type: text/html; charset=ISO-8859-1');


Par :
header('Content-Type: text/html; charset=utf-8');
0
apprentiDev Messages postés 154 Date d'inscription dimanche 2 mai 2010 Statut Membre Dernière intervention 1 mai 2013 4
1 juil. 2010 à 10:56
J'ai essayé mais pas de changement.

Est ce que l'erreur peut venir des données qui sont dans la base?
Je n'ai le droit qu'a une copie en local mais en regardant les caractères accentués sont remplacés par un Z. Je modifierais bien à la main tout ça mais je n'ai le droit qua la copie local. Sinon ce Z peut-il être "traduit" par un é par exemple?
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
1 juil. 2010 à 10:59
Rajoute la balise meta correspondante:
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>

ou iso-8859-1...
Ensuite, vérifie l'encodage utilisé à l'enregistrement de ta page.
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
1 juil. 2010 à 11:01
J'ai jamais vu de Z à la place d'un é...

Le problème vient d'un problème de compatibilité entre le codage de ta page, du navigateur et de ta base de données. Il faut veiller à ce que les 3 aient le même...(utf ou iso)

Sinon pour éviter les problèmes au moment de l'insertion il faut préférer mettre & eacute; & agrave; , ... dans ton code html
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
1 juil. 2010 à 11:02
Quant au Z tu peux créer une fonction qui remplace les Z par des é mais tous tes Z se trouvant dans la base le seront... A toi de choisir
0

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

Posez votre question
doncjavascript
1 juil. 2010 à 11:20
Teste ta variable obtenu de la base...si quand tu fais echo $madonnee; tu n'as pas d'accent le probléme vient de la base...comme il ne peut pas venir du html(puisque tu as du php qui va faire un echo) ni du php puisqu'il sait gérer les accents je penserait plutot pour un probléme à l'insertion ou la récup des données.
Sinon un truc tout bête en enregistrant le fichier il faut indiquer en utf-8(pas dans le code dans les options du fichiers), mais ça c'est pour résoudre le probléme des accents en html.
0
apprentiDev Messages postés 154 Date d'inscription dimanche 2 mai 2010 Statut Membre Dernière intervention 1 mai 2013 4
1 juil. 2010 à 12:00
Désolé je m'étais absenté

Je pense que le problème vient de la base car de ce que j'ai compris une 1er importation à été faite et ca aurait créer de nombreuses erreurs et que le écho ne génère pas d'accent.

En tout cas merci pour vos conseils.
Cordialement,
ApprentiDev
0