Witam, mam problem skopiowałem skrypt do uzupełniania danych na stronie i nie moge go zmusic do pracy z polskimi literami jezeli polska literka stoi na 2 miejscu w wyszukiwaniu,wszystko jest okej. Jeżeli wpisujemy ja na pierwszym nic nie znajduje, a napewno sa wpisy z polskimi literami nap "Żaby"
To strona na ktorej jest wyszukiwarka:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" charset="UTF-8" src="js/bsn.AutoSuggest_c_2.0.js"></script>
<link rel="stylesheet" href="css/autosuggest_inquisitor.css" type="text/css" media="screen" charset="utf-8" />
</head>
<body>
<form name="form1" method="post">
<input id="testinput" name="znajdz" type="text" class="input_brazowy" size="14"></td>
<img src="../gfx/space.gif" width="6" height="10" border="0"></td>
<input name="stan" type=submit value="szukaj">
</td>
</form>
<table width="760" border="1" align="center" cellpadding="0" cellspacing="0">
<TR>
<td width="6%">ID</td>
<td width="18%">Nazwa_polska_gatunku</td>
<td width="18%">Nazwa_lacinska_gatunku</td>
<td width="18%">Status_ochronny_konwencja</td>
<td width="18%">Status_ochronny_ue</td>
<td width="18%">Gatunek_lacinska</td>
<td width="18%">Gatunek_polska</td>
<td width="18%">Rodzaj_lacinska</td>
<td width="18%">Rodzaj_polska</td>
<td width="18%">Rodzina_lacinska</td>
<td width="18%">Rodzina_polska</td>
<td width="18%">Rzad_lacinska</td>
<td width="18%">Rzad_polska</td>
<td width="18%">Gromada_lacinska</td>
<td width="18%">Gromada_polska</td>
<td width="18%">Typ_lacinska</td>
<td width="18%">Typ_polska</td>
<td width="18%">Krolestwo_lacinska</td>
<td width="18%">Krolestwo_polska</td>
<td width="18%">Link_archive</td>
<td width="18%">Zdjecie</td>
<td width="30%">Komentarz</td>
<td width="18%">Opis</td>
<td width="18%">Podpis_pod_zdjeciem</td>
<td width="18%">synonimy</td>
<td width="18%">mapa</td>
</TR>
<?php
or
die ("Nie można połączyć się z bazą SQL");
or
die ("Nie można wybrać bazy SQL");
if($stan=='szukaj') {
$zapytanie = "SELECT * FROM `UE` WHERE `Nazwa_polska_gatunku` LIKE '%$znajdz%' or `Nazwa_lacinska_gatunku` LIKE '%$znajdz%' or `test1` LIKE '%$znajdz%'";
echo "<tr><td width=\"6%\">".$wiersz['ID']."</td>"; echo "<td width=\"18%\">".$wiersz['Nazwa_polska_gatunku']."</td>"; echo "<td width=\"18%\">".$wiersz['Nazwa_lacinska_gatunku']."</td>"; echo "<td width=\"18%\">".$wiersz['Status_ochronny_konwencja']."</td>"; echo "<td width=\"18%\">".$wiersz['Status_ochronny_ue']."</td>"; echo "<td width=\"18%\">".$wiersz['Gatunek_lacinska']."</td>"; echo "<td width=\"18%\">".$wiersz['Gatunek_polska']."</td>"; echo "<td width=\"18%\">".$wiersz['Rodzaj_lacinska']."</td>"; echo "<td width=\"18%\">".$wiersz['Rodzaj_polska']."</td>"; echo "<td width=\"18%\">".$wiersz['Rodzina_lacinska']."</td>"; echo "<td width=\"18%\">".$wiersz['Rodzina_polska']."</td>"; echo "<td width=\"18%\">".$wiersz['Rzad_lacinska']."</td>"; echo "<td width=\"18%\">".$wiersz['Rzad_polska']."</td>"; echo "<td width=\"18%\">".$wiersz['Gromada_lacinska']."</td>"; echo "<td width=\"18%\">".$wiersz['Gromada_polska']."</td>"; echo "<td width=\"18%\">".$wiersz['Typ_lacinska']."</td>"; echo "<td width=\"18%\">".$wiersz['Typ_polska']."</td>"; echo "<td width=\"18%\">".$wiersz['Krolestwo_lacinska']."</td>"; echo "<td width=\"18%\">".$wiersz['Krolestwo_polska']."</td>"; echo "<td width=\"18%\">".$wiersz['Link_archive']."</td>"; echo "<td width=\"18%\">".$wiersz['Zdjecie']."</td>"; echo "<td width=\"30%\">".$wiersz['Komentarz']."</td>"; echo "<td width=\"18%\">".$wiersz['Opis']."</td>"; echo "<td width=\"18%\">".$wiersz['Podpis_pod_zdjeciem']."</td>"; echo "<td width=\"18%\">".$wiersz['synonimy']."</td>"; echo "<td width=\"18%\">".$wiersz['mapa']."</td>"; }
}
?>
<script type="text/javascript" charset="utf-8">
var options = {
script:"test.php?json=true&",
varname:"input",
json:true,
callback: function (obj) { document.getElementById('testid').value = obj.id; }
};
var as_json = new AutoSuggest('testinput', options);
var options_xml = {
script:"test.php?",
varname:"input"
};
var as_xml = new AutoSuggest('testinput_xml', options_xml);
</script>
</body>
</html>
To jest kod pliku test.php wyswietlajacego podpowiedzi
<?php
/*
note:
this is just a static test version using a hard-coded countries array.
normally you would be populating the array out of a database
the returned xml has the following structure
<results>
<rs>foo</rs>
<rs>bar</rs>
</results>
*/
"Czubacz hełmiasty",
"Ĺťurawie",
"Dropie",
"Korońce",
"Papugowe",
"Ary niebieskie",
"Meksykanki",
"Loreczki",
"Turaki",
"Sowy",
"Kolibry",
"DzioboroĹĽce",
"Skalikurki",
"Cudowronki",
"Pudełeczniki",
"Kaczugi",
"Terapeny, (amerykańskie) ĹĽółwie pudełkowe, terapeny",
"Ĺťółwie lądowe",
"Ĺťółwie morskie",
"Ĺťółwiaki wąskogłowe",
"Ĺťółwiaki olbrzymie",
"Terekaj",
"Krokodylowate",
"Tuatary; Hatterie",
"Biczogony",
"Kameleony ĹĽyworodne",
"Kameleony ĹĽyworodne",
"Legwany fidĹĽyjskie",
"Legwany lądowe z Galapagos",
"Legwany nosorogie",
"Legwany; Iguana",
"Szyszkowce",
"Teju kajmanowy",
"Teju",
"Helodermy",
"Warany",
"Pytony norowe",
"Pytony",
"Boa",
"Ropuchy ĹĽyworodne",
"Drzewołazy",
"Epifitołaz",
"Liściołazy",
"Mantelle",
"ŝaby gęborodne",
"Salamandry olbrzymie",
"Pławikoniki",
"Latimerie",
"Organeczniki",
"Ä™",
"Zŝaby gęborodne",
"ZŻĹťaby gÄ™borodne"
);
"North Yorkshire",
"Nottinghamshire"
);
if ($len)
{
for ($i=0;$i<count($aUsers);$i++)
{
// had to use utf_decode, here
// not necessary if the results are coming from mysql
//
$aResults[] = array( "id"=>($i+1) ,"value"=>htmlspecialchars
($aUsers[$i]), "info"=>htmlspecialchars
($aInfo[$i]) );
//if (stripos(utf8_decode($aUsers[$i]), $input) !== false)
// $aResults[] = array( "id"=>($i+1) ,"value"=>htmlspecialchars($aUsers[$i]), "info"=>htmlspecialchars($aInfo[$i]) );
}
}
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header ("Pragma: no-cache"); // HTTP/1.0 header ("Content-Type: content=text/html; charset=UTF-8");
if (isset($_REQUEST['json'])) {
header("Content-Type: application/json; charset=UTF-8");
for ($i=0;$i<count($aResults);$i++)
{
$arr[] = "{\"id\": \"".$aResults[$i]['id']."\", \"value\": \"".$aResults[$i]['value']."\", \"info\": \"\"}";
}
}
else
{
header("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?><results>"; for ($i=0;$i<count($aResults);$i++)
{
echo "<rs id=\"".$aResults[$i]['id']."\" info=\"".$aResults[$i]['info']."\">".$aResults[$i]['value']."</rs>"; }
}
?>
Nie wiem jak sie zabrać za rozwiązanie tego problem, nie wiem dlaczego akurat z pierwsza polska listera nie działa
Ten post edytował Youkash 28.08.2008, 08:20:16