Charset in ajax. How to send accented input to the server?


Please can you tell me why when I try to send an “à” (a grave) from an html input textbox to the server, I receive an “Ô (capital a-tilde)? I use ISO-8859-1 and an ajax get request. I put that charset both in html file and in php file but the bad result remains.
I have tried also to insert the charset in ajax code (see red line) but without success.
Can you help me please? Here is the code:


   <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
   <link rel="shortcut icon" href="include/favicon.ico">
   <link rel="stylesheet" href="include/layout.css" type="text/css">
   <script type="text/javascript" src="ajax_script.js"></script>

      <form action='javascript:send_request()' method='get'>
      <input type='submit' id='cmd_submit' name='cmd_submit' value='OK'>
      <div id='box'>
         <p id='load_box'></p>
         <input type='text' name='txt_input' id='txt_input' value='à'>


var http = createObject();

function createObject() {
   var request_type;
   var browser = navigator.appName;
   if(browser == "Microsoft Internet Explorer") {
      request_type = new ActiveXObject("Microsoft.XMLHTTP");
   } else {
      request_type = new XMLHttpRequest();
   return request_type;

function send_request() {
   document.getElementById('load_box').innerHTML = "Loading...";
   var txt_input = encodeURI(document.getElementById('txt_input').value);
   var cmd_submit = encodeURI(document.getElementById('cmd_submit').value);
   nocache = Math.random();'get', 'server_script.php?txt_input='    + txt_input
                                     + '&cmd_submit=' + cmd_submit
                                     + '&nocache='    + nocache);
[COLOR="Red"]   http.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-1");[/COLOR]
   http.onreadystatechange = show_response;

function show_response() {
   if(http.readyState == 4){
      var response = http.responseText;
      document.getElementById('box').innerHTML = response;


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

   if ( (isset($_GET['cmd_submit'])) && ($_GET['cmd_submit'] == 'OK') ) {
      $txt_input = $_GET['txt_input'];
      echo "server response: $txt_input";

I have tried many times with no success. I hope you can help me!

If this matter is interesting for someone in the file “server_script.php” I have set the charset to “utf-8”. I think because Javascript treats every character as unicode, and iso-8859-1 isn’t an unicode charset.