Bonjour,
je rencontre un pb d'encodage d'une chaine url produite à partir d'un script trouvé sur le net .
par exemple:
"Allée des cassis" devrait être "All%C3%A9e%20des%20cassis%0A"
mais le code produit "All%E9e%20des%20cassis" ce qui est incorrect.
pour le cas d'espèce il s'agit de la lettre "é" qui est mal codée.
j'exploite cette chaine ensuite dans un xsl via un javascript avec decodeURIComponent mais compte tenu de l'erreur de codage je récupère une erreur URIerror
j'ai distingué la fonction urlencode mais mes connaissances en code hp sont extrêmement limitées, je ne sais où la placer.
Auriez vous une piste?
Grand Merci
le code PHP livesearch.php
et le fichier xml
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 <?php $xmlDoc=new DOMDocument(); $xmlDoc->load("livesearch.xml"); $x=$xmlDoc->getElementsByTagName('link'); //get the q parameter from URL $q=$_GET["q"]; //lookup all links from the xml file if length of q>0 if (strlen($q)>0){ $hint=""; for($i=0; $i<($x->length); $i++){ $y=$x->item($i)->getElementsByTagName('title'); $z=$x->item($i)->getElementsByTagName('url'); $massif=$x->item($i)->getElementsByTagName('title');//var massif if ($y->item(0)->nodeType==1){ //find a link matching the search text if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q)){ if ($hint==""){ $hint="<a href='" . $z->item(0)->childNodes->item(0)->nodeValue . "' target='_blank'>" . $y->item(0)->childNodes->item(0)->nodeValue . "</a>"; } else{ $hint=$hint . "<br /><a href='" . $z->item(0)->childNodes->item(0)->nodeValue . "' target='_blank'>" . $y->item(0)->childNodes->item(0)->nodeValue . "</a>"; } } } } } // Set output to "no suggestion" if no hint were found // or to the correct values if ($hint==""){ $response="Oups! Aucune suggestion."; } else{ $response=$hint; } //output the response echo $response; ?>
Code xml : 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 <?xml version="1.0" encoding="UTF-8"?> <pages> <link> <title>95.2</title> <url>blocableau3x.html?95.2</url> </link> .... .... <link> <title>Allée des cassis</title> <url>blocableau3x.html?Allée des cassis</url> </link> <link> <title>Apremont</title> <url>blocableau3x.html?Apremont</url> </link> </pages>
Partager