[AJAX] Gestion des caractères accentués
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:
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:
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:
</script></head><body bgcolor="#D6E7CB"><center><div id ='VILLES' name='dept' ></center></body></html>
Test.php
Code:
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]);
}
?> |