Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Ajax] Autocomplete i brak reakcji na polskie znaki
john_doe
post
Post #1





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


Witam,

w grę wchodzą trzy pliki:

1. index.php - tutaj jest pole input text i działa autocomplete

  1. <div>
  2. <b>Wybierz akronim:</b>
  3. <br />
  4. <input class="normal" type="text" size="30" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" />
  5. </div>
  6.  
  7. <div class="suggestionsBox" id="suggestions" style="display: none;">
  8. <img src="upArrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" />
  9. <div class="suggestionList" id="autoSuggestionsList">
  10. &nbsp;
  11. </div>
  12. </div>


2. autocomplete.js

  1. function lookup(inputString) {
  2. if(inputString.length == 0) {
  3. // Hide the suggestion box.
  4. $('#suggestions').hide();
  5. } else {
  6. $.post("autoCompleteSql.php", {queryString: ""+inputString+""}, function(data){
  7. if(data.length >0) {
  8. $('#suggestions').show();
  9. $('#autoSuggestionsList').html(data);
  10. }
  11. });
  12. }
  13. } // lookup
  14.  
  15. function fill(thisValue) {
  16. $('#inputString').val(thisValue);
  17. setTimeout("$('#suggestions').hide();", 200);
  18. }


3. autoCompleteSql.php - do tego pliku odwołuję się poprzez AJAX i wyświetlam w autoComplete

  1. <?php
  2. header("Content-Type: text/html; charset=windows-1250");
  3. include('../../db/connection.php');
  4.  
  5.  
  6. // Is there a posted query string?
  7. if( isSet( $_POST['queryString'] ) )
  8. {
  9. $queryString = $_POST['queryString'];
  10.  
  11. $stmt = $dbh->prepare( "SELECT TOP 20 knt_gidnumer, knt_akronim FROM cdn.kntkarty WHERE knt_archiwalny = 0 and knt_akronim LIKE '$queryString%'" );
  12.  
  13. $stmt->execute();
  14.  
  15. while ( $row = $stmt->fetch(PDO::FETCH_ASSOC) )
  16. {
  17. echo '<li id="liPos" onClick="fill(\''.$row['knt_akronim'].'\');">'.$row['knt_akronim'].'</li>';
  18. }
  19. } else 'No direct access to this script. Go away!';
  20.  
  21.  
  22. ?>


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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 05:04