OVH Cloud OVH Cloud

XHR (problème d'accents et de balises)

3 réponses
Avatar
Saad Saad
Bonjour,

Je me suis mis (comme tous le monde) à la technologie 'Ajax';

un input text, avec l'evenement onkeyup.
au fur et à mesure de la frappe, les données issues de ma base de
données php/MySQL apparaisse dans un div.


cela fonctionne parfaitement.


maintenant, je voudrais que les caractères prsent dans l'input text,
apparaisse en gras dans le div (un peu comme les mails dans Gmail).

Je fais la recherche remplacer avec PHP (question de facilité) et tout
fonctionne bien sur le ficher de la requête cependant dans le div,
j'ai soit <b>montexte avec é</b> qui s'affiche, soit <gras>montexte avec
?</gras>.

voilà donc le problème, je n'arrive pas à écrire à la fois les accents
et les balises html.

tout s'affiche parfaitement dans le fichier php, c'est lors du
rapatriement vers la page, que ça coince. quel fonction javascript
dois-je utiliser ?


merci

3 réponses

Avatar
YD
maintenant, je voudrais que les caractères prsent dans l'input text,
apparaisse en gras dans le div (un peu comme les mails dans Gmail).

Je fais la recherche remplacer avec PHP (question de facilité) et tout
fonctionne bien sur le ficher de la requête cependant dans le div,
j'ai soit <b>montexte avec é</b> qui s'affiche, soit <gras>montexte avec
?</gras>.

voilà donc le problème, je n'arrive pas à écrire à la fois les accents
et les balises html.


Problème de charset. Ton PHP doit insérer un é en iso-8859-1 et la page
est déclarée en UTF-8... Javascript n'y pourra rien, c'est au niveau du
PHP que ça doit se passer. J'essaierai en premier la fonction
utf8_encode(chaine) sur la chaine après le remplacement et avant son
insertion dans le HTML.


--
Y.D.

Avatar
Saad Saad

maintenant, je voudrais que les caractères prsent dans l'input text,
apparaisse en gras dans le div (un peu comme les mails dans Gmail).

Je fais la recherche remplacer avec PHP (question de facilité) et tout
fonctionne bien sur le ficher de la requête cependant dans le div,
j'ai soit <b>montexte avec é</b> qui s'affiche, soit <gras>montexte
avec ?</gras>.

voilà donc le problème, je n'arrive pas à écrire à la fois les accents
et les balises html.



Problème de charset. Ton PHP doit insérer un é en iso-8859-1 et la page
est déclarée en UTF-8... Javascript n'y pourra rien, c'est au niveau du
PHP que ça doit se passer. J'essaierai en premier la fonction
utf8_encode(chaine) sur la chaine après le remplacement et avant son
insertion dans le HTML.




comme dis dans mon message, tout est bon à la sortie du PHP.

si j'exécute uniquement le fichier tout s'affiche normalement.

donc le problème est quant les données reviennent vers ma page.


Avatar
YD

comme dis dans mon message, tout est bon à la sortie du PHP.
si j'exécute uniquement le fichier tout s'affiche normalement.
donc le problème est quant les données reviennent vers ma page.


Comme je l'ai dit dans le mien si tes é sortent ? c'est que ta
page est en UTF-8 et que le PHP lui balance de l'iso-8859-1.

Pour t'en convaincre visite quelques pages françaises au hasard
et dans Fx modifie l'encodage (menu affichage, encodage des
caractères) en passant une page dont l'encodage est ISO-8859-1
eu UTF-8.

As-tu testé ma proposition avant de répondre au fait (ce n'est
pas une grosse modif) ?

--
Y.D.