|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : novembre 2003 Messages : 10 ![]() |
N.B: mon premier post ici même si je suis membre depuis 2003
Bonjour tout le monde Bon j'ai fait ma recherche dans ce forum et sur google et j'ai essayé les solutions qu'on me donne et cela ne résoud pas mon problème. À ce que je vois le le problème des accents et Ajax semble être un classique. Avec IE 6, 7, 8 ,.. les caractères accentués sont remplacés par un carré et avec Firefox et autres par "?". Donc j'ai un fichier en html et je vais chercher le contenu d'un autre fichier html Si je rajoute : //xmlhttp.overrideMimeType('text/html; charset=ISO-8859-15'); cela règle le problème pour Firefox mais pas pour IE ... Voilà dans le head d'un fichier html j'ai mon script Code :
|
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
As-tu envisagé (peut-être que oui) de passer à l'UTF-8 ? (sans manquer aucune étape, d'ailleurs
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : novembre 2003 Messages : 10 ![]() |
Citation:
Bonjour Romain Merci J'avais lu ce tuto mais ce n'est pas la solution pour moi ... car je veux seulement utiliser Ajax pour une page du site ( une page html qui appelle des contenus dans d'autres pages html simple) ..de la façon que j'ai mentionné .... car le reste du site est en php Xthml, css mysql ... Donc il n'y a pas lieu d'appliquer les recommandations du tuto pour tout le site web... Alors c'est pourquoi je cherche une solution uniquement pour cette page là .... N.B.: évidemment vous voyez que j'en suis à mes premières armes en Ajax ... Merci d'avance pour votre aide Bye |
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 420 ![]() |
Bonjour
Nativement XMLHttpRequest s'attend à recevoir de l'UTF8 il ne s'agit donc pas de passer la page qui fait l'appel en UTF-8 Mais le contenu de ce qui est chargé par XMLHttRequest |
|
|
00
|
|
|
#5 | ||
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 126 ![]() |
Bonjour,
Citation:
Citation:
A+. |
||
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : novembre 2003 Messages : 10 ![]() |
Citation:
Si je te comprends bien alors je l'ai fait aussi et cela ne règle pas le problème. Ce que j'ai compris de ce que tu me dis est que la page appelante , je la laisse en iso-8859-1 ( c'est comme tous le reste du site de ma couche présentation d'ailleurs) .... et ma page appellée ( celle qui a le contenu) je la met en UTF-8 .... Mais cela ne règle rien si c'est ça que tu veux dire ! Citation:
C'est comme j'ai écrit : iso-8859-1? En vous remerciant d'avance pour tout aide |
||
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
( « Mais de quoi i s'mèle, çui-là ? »
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : novembre 2003 Messages : 10 ![]() |
|
|
|
00
|
|
|
#9 | |||||||||||
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 420 ![]() |
Citation:
Tu as titré ajax est cela m'a induit en erreur. en fait tu fais un appel XMLHttpRequest pour obtenir un fragment HTML. donc là deux solution. soit tout est homogène toutes tes pages et tes fragments on le même encoding. tu peux alors utiliser le frangment tel quel Code :
document.getElementById ("myDiv").innerHTML=xmlhttp.responseText tu peux alors produire des fragments XML avec l'encoding de ton choix Code xml :
Code :
Code :
ensuite tu déplace les éléments du DOM qui t'intéresse dans le DOM de ta page. les deux étant des éléments dans le format interne à ton navigateur il ne s'agit pas de string mais d'objet il n'y a donc pas d'encoding. si tu tien ou que tu as vraiment besoin de récupérer le code source html tu peux faire ainsi Code :
xmlhttp.responseXML.firstChild.innerHTML une dernière précision un fragment XML doit être conforme XML donc les balise type img doivent être fermées c'est aussi la raison de la présence d'une balise XML englobante (fragment ci-dessus) Code html :
on ajoute donc une balise juste pour englober le fragment. Code xml :
A+JYT |
|||||||||||
|
|
10
|
|
|
#10 | |||||||||||
|
Invité de passage
![]() Inscription : novembre 2003 Messages : 10 ![]() |
Citation:
Bon je réédite .. ca ne fonctionne pas avec internet explorer de mettre .. J'ai crié victoire trop vite ... Ça fonctionne pas avec internet explore xmlhttp.overrideMimeType('text/html; charset=ISO-8859-1'); Pour SeKAIJIN : je te reviens plus tard avec ma réponse ... Merci |
|||||||||||
|
|
01
|
|
|
#11 | ||||||||||||
|
Invité de passage
![]() Inscription : novembre 2003 Messages : 10 ![]() |
Citation:
Avant de répondre à ta réponse concernant le sujet de ce post , je dois dire là tu me mêles en semblant me dire que ce n'est pas de l'Ajax mon code. Citation:
Étant complètement néophyte en Ajax , j'ai simplement utiliser le cours Ajax trouvé sur ce mini cours en ligne d'Ajax .... http://www.w3schools.com/ajax/default.asp ET les tutos sur le site developpez.net.. Et Ajax utilise du DOm bien sûr..... Ai je mal compris ta remarque que je cite ? Merci de m'éclairer |
||||||||||||
|
|
01
|
|
|
#12 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 420 ![]() |
Ajax signifie
Asynchronous Javascript and XML il ne s'agit donc pas à priori de source HTML qu'on récupère avec XHR Souvent l'Achronyme AJAX est dévoyé pour traiter de l'échange de donnée entre le serveur et le client que ce soit en XML ou en JSON c'est vrais que plus largement AJAX est aussi employé pour les échange XHR quels qu'ils soient. dans ma tête en lisant partiellement le post initial j'étais resté sur AJAX dans sa définition initiale. je dois dire qu'aujourd'hui AJAX ne signifie pas grand chose si ce n'est l'utilisation de XHR. mais il semble que cette définition d'AJAX soit généralement acceptée. on aurait pu clarifier les chose avec par exemple AJAX Asynchronous Javascript And XML AJAJ Asynchronous Javascript And JSON AJAH Asynchronous Javascript And HTML Aujourd'hui le terme englobe les trois sans distinction. pour le premier le parser XML -> DOM inclus dans XMLHttpRequest supporte tous les encodage des fragment XML quelque soit l'encodage de la page hôte. pour le second le moteur javascript est UTF-8 nativement il convient donc de lui fournir un source JSON en utf-8 quant au troisième cas sui consiste à véhiculer du code source html dans du texte il est sujet à des pb de cohérence d'encodage. Je fais simplement cette petit remarque sur AJAx en début de mon deuxième post pour expliquer que n'ayant pas tout lu (Mea culpa) je pensais qu'il s'agissait du 1er ou 2eme cas mais je n'avais pas compris qu'on était dans le troisième. ce qui expliquait mon affirmation du post précédent. A+JYT |
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() Inscription : novembre 2003 Messages : 10 ![]() |
Citation:
Merci pour tes éclaircissements. Effectivement c'est pour le troisième cas ( code source HTML) mon sujet de ce post. Tu indiques que : Citation:
1) est ce un problème de codage irrésolvable? 2) sinon quelle est la solution à ce problème dans le contexte de mon premier message ci haut ? N.B.: Évidemment si je mets cela : xmlhttp.overrideMimeType('text/html; charset=ISO-8859-1'); le problème est résolu pour Firefox, safari, google chrome .... Mais mon problème demeure pour internet explorer ... En te remerciant d'avance si tu as une solution .. Sinon les autres qui me lisent si vous avez une solution , ce serait hyper apprécié. Merci |
||
|
|
01
|
|
|
#14 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 420 ![]() |
la solution que je te proposais
faire des fragment xml et utiliser le DOM A+JYT |
|
|
00
|
|
|
#15 | |
|
Invité de passage
![]() Inscription : novembre 2003 Messages : 10 ![]() |
Citation:
Bon s'il n'existe pas d'autres solutions, il faudra bien que je me résoudre à le faire ainsi. Pourtant ... j'ai vraiment l'impression qu'il doit bien exister une autre façon que passer par de fragments XML.... Merci À suivre.... |
|
|
|
00
|
|
|
#16 | ||
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 126 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#17 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 420 ![]() |
oui l'autre solution est d'avoir un site homogène (tout avec le même encodage)
|
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : novembre 2003 Messages : 10 ![]() |
Bonjour Andry et sekaijin
Oui je sais comme indiqué dans mes premiers messages mais je voulais justement évité cela et me limiter à une section du site seulement pour l'ajax pour l'usage que je veux en faire.. S'il y a de quoi je vous reviens sur ce sujet ... Merci pour tout |
|
|
10
|
|
|
#19 |
|
Futur Membre du Club
![]() Inscription : septembre 2007 Messages : 64 ![]() |
J'ai eu un problème de codage également : par exemple, les é transmis par le formulaire étaient enregistrés en Ãc dans ma base. Mon site est en iso-8859-1.
J'ai résolu le pb en traitant mes chaînes avec utf8_decode ( string $data ) avant de les enregistrer dans ma base. Peut-être que cela pourra t'aider ! |
|
|
00
|
|
|
#20 |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com