Bonjour,
Je cherche un moyen de généraliser une fonction JavaScript (AJAX) afin d'éviter que chaque procédure php appelée se termine par utf8_encode(... .
J'ai essayé au niveau de ma fonction "lancerAJAX de convertir le message par : escape/unescape, encoceURIComponent/decoceURIComponent mais rien ne fonctionne.
Voici dessous un test. Si j'appelle directement test.php, cela affiche bien les accents, mais si je passe par test.html les caractères accentués ne s'affichent pas sauf si j'utilise utf8-encode.
Quelqu'un a-t-il trouvé une solution ?
Merci d'avance.
Gérard
Test.html :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <html lang="FR"><head><title></title><meta http-equiv="Content-type" content="text/html; charset=Windows-1252"> <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script><script>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $(document).ready(function() { lancerAJAX( "#VILLES", "test.php", "p1", "p2"); }); function lancerAJAX(id, url, p1, p2 ){ var request = $.post( url, {p1 : p2 } ); request.done(function( msg ){ $(id).html( msg) ; }); request.fail(function( jqXHR, textStatus ){ alert( "Request failed: " + textStatus ); }); }
Code html : Sélectionner tout - Visualiser dans une fenêtre à part </script></head><body bgcolor="#D6E7CB"><center><div id ='VILLES' name='dept' ></center></body></html>
Test.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $villes = array("Paris","Sèvres","Bénodet"); for ($i=0;$i < count($villes);$i++){ echo "<br>".$villes[$i]." ou mieux : ".utf8_encode( $villes[$i]); } ?>
Partager