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:
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 = ''; }
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 417 Pomógł: 44 Dołączył: 23.06.2011 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.09.2013 Ostrzeżenie: (0%)
|
Cytat 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...) Takie rzeczy to dla mnie podstawa i na prawdę nie mam pojęcia dlaczego wywala mi takie krzaki. Wydaje mi się, że wyczerpałem już 99% możliwości i gdzieś jest tylko ta jedna, która to "naprawi" (IMG:style_emoticons/default/wink.gif) Dodam jeszcze, że korzystam też z prototype.js, ale tam też jest wszystko w utf-8. Ten post edytował salek 12.09.2013, 12:20:25 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
- w pliku php meta z kodowanie UTF-8
- w edytorze tekstu UTF-8 bez BOM - w bazie PhpMyAdmin daj:
- zacznie działać dopiero po dodaniu nowego rekordu, więc stare musisz wywalić - sprawdź w strukturze czy kolumny mają kodowanie utf8_polish_ci Używam osobiście tego rozwiązania i się sprawdza. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.09.2013 Ostrzeżenie: (0%)
|
Mam poustawiane wszystko tak jak piszecie. Problem nie tkwi w tym. w bazie wyświetla się wszystko ładnie. W aplikacji jak sobie klupnę przez echo "" - też wyświetla ładnie znaczniki.
Problem występuje tylko w divie id="search_suggest" - podczas wpisywania tekstu w inpucie wyświetla pasujące pozycje w divie i te pozycje są skrzaczkowane w miejscach polskich znaków... Podejrzewam że problem gdzieś robi javascript... Temat do usunięcia. Problem rozwiązałem zmieniając całkowicie system autocomplete na jqueryUI i zaprądziło. |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 16:46 |