Witam,
w grę wchodzą trzy pliki:
1. index.php - tutaj jest pole input text i działa autocomplete
<input class="normal" type="text" size="30" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" />
<div class="suggestionsBox" id="suggestions" style="display: none;"> <img src="upArrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" /> <div class="suggestionList" id="autoSuggestionsList">
2. autocomplete.js
function lookup(inputString) {
if(inputString.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
$.post("autoCompleteSql.php", {queryString: ""+inputString+""}, function(data){
if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
} // lookup
function fill(thisValue) {
$('#inputString').val(thisValue);
setTimeout("$('#suggestions').hide();", 200);
}
3. autoCompleteSql.php - do tego pliku odwołuję się poprzez AJAX i wyświetlam w autoComplete
<?php
header("Content-Type: text/html; charset=windows-1250"); include('../../db/connection.php');
// Is there a posted query string?
if( isSet( $_POST['queryString'] ) ) {
$queryString = $_POST['queryString'];
$stmt = $dbh->prepare( "SELECT TOP 20 knt_gidnumer, knt_akronim FROM cdn.kntkarty WHERE knt_archiwalny = 0 and knt_akronim LIKE '$queryString%'" );
$stmt->execute();
while ( $row = $stmt->fetch(PDO::FETCH_ASSOC) )
{
echo '<li id="liPos" onClick="fill(\''.$row['knt_akronim'].'\');">'.$row['knt_akronim'].'</li>'; }
} else 'No direct access to this script. Go away!';
?>
wszystko działa ok, zaczynam wpisywać nazwy kontrahentów, pojawia się okienko z podpowiedziami. Kłopot w tym, że jeśli w nazwie występuję polski znak to skrypt nie działa. Jak widzicie wyżej kombinuję z header ale bez rezultatu. Wszystkie pliki mam zakodowane w windows 1250 a to dlatego, że pracuję na bazie sqlServer2000 i na innym kodowaniu np utf-8 czy iso 8859-2 nie otrzymuję polskich znaków gdy odpytuję bazę i wyświetlam wyniki.
Macie może jakiś pomysł co by tu spróbuwać aby te polskie znaki w autoComplete brało pod uwagę(IMG:
style_emoticons/default/questionmark.gif) ?
pozdrawiam