Bonjour,

J'essaye de reproduire cet exemple dans un site :

http://ajax-apis.appspot.com/two-page-search-alt

Il s'agit de mettre en place une recherche google personnalisée, mais j'ai un problème quant aux accents, bien que tout fonctionne dans l'exemple et que les codes soient à mon sens similaires.

Mon formulaire:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript"> 
 
function inputFocus() {
  document.getElementById('query-input').style['background'] = '';
}
 
function inputBlur() {
  var queryInput = document.getElementById('query-input');
  if (!queryInput.value) {
    queryInput.style['background'] = 'white url(<a href="http://www.google.com/coop/images/google_custom_search_watermark.gif" target="_blank">http://www.google.com/coop/images/go..._watermark.gif</a>) no-repeat 0% 50%';
  }
}
</script> 
 
<form action="./recherche" method="GET" accept-charset="UTF-8"> 
      <input name="q" size="31" id="query-input" style="border: 1px solid rgb(126, 157, 185); padding: 2px;" onfocus="inputFocus();" onblur="inputBlur();" type="text" />
      <input name="sa" value="Rechercher" type="submit" />
</form>
Affichage des résultats :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
<script src="http://www.google.com/jsapi?key=maclé" type="text/javascript"></script> 
    <script type="text/javascript"> 
      google.load('search', '1');
 
      function getQuery() {
        var url = '' + window.location;
        var queryStart = url.indexOf('?') + 1;
        if (queryStart > 0) {
          var parts = url.substr(queryStart).split('&');
          for (var i = 0; i < parts.length; i++) {
            if (parts[i].substr(0, 1) == 'q') {
              return unescape(parts[i].split('=')[1].replace(/\+/g, ' '));
            }
          }
        }
        return '';
      }
 
      function onLoad() {
 
        var customSearchControl = new google.search.CustomSearchControl('005584578441396243232:epked-4geyy');
 
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
 
        // Draw the control in content div
        customSearchControl.draw('cse-search-results');
 
        // Run a query
        customSearchControl.execute(getQuery());
      }
 
      google.setOnLoadCallback(onLoad);
    </script>
La recherche personnalisée fonctionne parfaitement, mais quand j'utilise le formulaire ci-dessus, les accents sont remplacés par des suites de caractères qui ne sont ensuite pas rétablies par le 'unescape'. Par exemple, une recherche sur le mot 'vélo' appellera la page 'http://www.coord21.ch/test_cmsms/recherche/?q=v%25C3%25A9lo&sa=Rechercher' et la recherche sur v%C3%A9lo ne donnera rien...

Est-ce que quelqu'un saurait me dire ce qui se passe ? Je mets un lien vers mon site : http://www.coord21.ch/test_cmsms/ pour les motivés.

Merci !