Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][MySQL][PHP]problem z polskimi znakami
salek
post 12.09.2013, 07:52:10
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.09.2013

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


Witam,
Problem może okazać się banalny, ale szukałem już w google 2 dni, i próbowałem różnych spraw a problem ciągle jest. Dlatego postanowiłem zadać w końcu pytanie:

Otóż mam problem z polskimi znakami w wyszukiwarce "pseudoajaxowej". Mam sobie pole input text, w nim wpisuję znaki, a poprzez js i osobny plik php pobieram dane z bazy i wyświetlam w osobnym DIV.
Wszystko by działało, tylko znaczki się gdzieś krzaczą. Zaznaczam, że wszystko mam w UTF-8 (baza, set names w pliku łączącym z bazą, wszystkie pliki kodowane w utf, nawet gdzieś znalazłem żeby w <form> dołożyć accept-charset="utf-8" więc tak zrobiłem, ciągle ten sam problem...)

Kod
Grzeg?�?k? (grzeg?�?k? li??)


coś takiego wyświetla div pod inputem.

Jeśli to coś pomoże, wklejam też poszczególne kody, ogólnie cały skrypt jest znaleziony w necie i tylko troszkę zmieniony:

  1. <input type="text" id="searchinput" name="searchinput" value="" onkeyup="searchSuggest();"/>
  2. </div><div id="search_suggest"></div>


Kod
function searchSuggest(){
var str = escape(document.getElementById('searchinput').value);
var myAjax = new Ajax.Request(
      'suggest.php',
      {
         method: 'get',
         parameters: "search="+str,
         onComplete: showResponse,
         onFailure: showAlert
      });
                
}
function showResponse(text){
        
        var search_suggest = document.getElementById("search_suggest");
        search_suggest.style.visibility = "visible";
        var ss = document.getElementById('search_suggest')
        ss.innerHTML = '';
        var str = text.responseText.split("\n");
        for(i=0; i < str.length - 1; i++)
        { var suggest = '<div onmouseover="java script:suggestOver(this);" ';
                        suggest += 'onmouseout="java script:suggestOut(this);" ';
                        suggest += 'onclick="java script:setSearch(this.innerHTML);" ';
                        suggest += 'class="suggest_link">' + str[i] + '</div>';
                        ss.innerHTML += suggest;
                }
        
        
        
}
function showAlert(MyRequest) {
        alert("Operacja nie powiodła się");
}
function suggestOver(div_value) {
        
        div_value.className = 'suggest_link_over';
}
function suggestOut(div_value) {
        
        div_value.className = 'suggest_link';
}
function setSearch(value) {
        var search_suggest = document.getElementById("search_suggest");
        search_suggest.style.visibility = "hidden";
        document.getElementById('searchinput').value = value;
        document.getElementById('search_suggest').innerHTML = '';
}


  1. <?php
  2. include('db_config.php');
  3. $search = addslashes($_GET['search']);
  4. if(!empty($search)){
  5.  
  6.  
  7.  
  8. $zapytanie = "select identyfikator, nazwa, id_kontrahenta from kontrahenci where identyfikator LIKE '%$search%' LIMIT 10";
  9. $wynik = mysql_query($zapytanie);
  10.  
  11. $ile_znalezionych = mysql_num_rows($wynik);
  12. for ($i=0; $i <$ile_znalezionych; $i++)
  13. {
  14.  
  15. $wiersz = mysql_fetch_assoc($wynik);
  16.  
  17. $str .= "[".$wiersz['id_kontrahenta']."]".$wiersz['identyfikator']." (".$wiersz['nazwa'].") \n";
  18.  
  19. }
  20. $str .= "empty \n";
  21. echo rtrim($str);
  22. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 21:26