![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 1 Dołączył: 4.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
LIKE wywołany w bazie wyszukuje nazwy dla "%Żył%", nie znajduje dla "%żył".
Problem pewnie leży w tym, że znaki są zapisane w bazie w ISO-8859-2, a kodowanie (metoda porównywania napisów w phpMyAdmin) ustawione na latin1_swedish_ci, przez to engine bazy nie potrafi dobrze przetłumaczyć małych liter na duże, dużych na małe więc jest czuły na wielkość znaku. Zmiany charsetu dla bazy nie pomogła (latin2_general_ci), dla tabel też. Zmiana charsetu dla poszczególnych kolumn wywołuje błąd: http://forum.php.pl/lofiversion/index.php/t25622.html , który jest bugiem mysql nienaprawionym od 2004. Dodatkowo konwersja na latin2 a potem z powrotem na latin1 skopała mi kodowanie (zamiast znaków polskich były '?'). Więc zrzuciłem dumpa i wszędzie gdzie było latin1 ustawiłem latin2, ale po dodaniu takiej bazy okazało się, że występuje znów błąd (illegal mix of collations latin1, latin2). Okazało się (po show variables like "charset%"), ze character_set_server=latin1. Zmiana na latin2 nie pomogła. Może ktoś już miał taki problem i potrafi poradzić? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Zrzut masz na pewno w latin2?
SET NAMES na początku użyłeś? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 22:57 |