Encodage caractères AJAX

Résolu
neointhematrix Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -  
 renoi -
Bonjour à tous,

Je suis confronté à un problème qui, je pense, ne doit pas être trop compliqué à résoudre et pourtant je passe vraiment à coté :).

Je fais une application web avec de l'ajax. Lorsque je met à jour des données dans mes divs, via ma BDD, les caractères accentués se retrouve remplacés par ces (maudits) losanges noirs à point d'interrogation. apparemment ma bdd est en interclassement : Latin1_swedish_ci. Je ne sais pas si je dois mettre un truc de spécial quant à l'encodage dans ma page html et si il faut mettre quelque chose de spécial dans mon fichier php ou j'éxécute ma requete.

Merci d'avance de vos réponses.

11 réponses

Matcruz
 
slt,
j'ai eu ce problème la semaine dernière.
j'ai juste mis cette ligne ci-dessous en haut dans mon fichier avant la requête et ça m'a résolu mon problème de caractères bizarroides..

essaye toujours ->

header('Content-Type: text/html; charset=ISO-8859-1');

++
10
Fred
 
Il faut en effet encoder avec iso-8859-1, mais ce n'est pas suffisant. ça marche si le texte est déclaré sous forme de variable php, puis il faut utiliser htmlentities. Par exemple:
<?php $chaine = "ééé àà èèè"; ?> au début du document, puis entre les balises <body> et </body>:
<?php print htmlentities($chaine);?>
Et là plus de problème avec les accents. (je suppose qu'ici le script ajax et le script contenant le texte sont distincts).
Comme quoi Ajax c'est plus facile avec PHP.
0
votrewebfacile
 
il y a plus simple selon moi :

echo utf8_encode($afficher);

qui va afficher la variable $afficher après l'avoir convertie en UTF8 :)
0
kressly Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
Ce n'est pas satisfaisant parce que moi j'ai essayé toutes vos méthodes mais je n'ai pas obtenu gain de cause
0