![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 15.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
mam problem z porównywaniem znaków w skrypcie konkursowym. Działa to na zasadzie czatu AJAXowego, użytkownik musi trafić w jedną z trzech odpowiedzi. Niestety, okazuje się, że jeżeli odpowiedź prawidłowa zawiera polskie znaki a użytkownika nie, to i tak się zgadzają. Przykładowo SELECT 'pozar' = 'pożar' się zgadza. Nie wiem jak temu zapobiec. Niżej kod, który to u mnie sprawdza (przed sprawdzeniem odpowiedzi konwertuję wszystkie litery na małe):
Kodowanie bazy to utf8_general_ci, przy połączeniu wykonuję SET NAMES UTF8. Wszystkie pliki są zakodowane w UTF8 bez BOM. Ktoś miał podobny problem albo umie pomóc? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 15.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za szybką odpowiedź (IMG:style_emoticons/default/wink.gif)
Znalazłem gdzieś na pierwszej stronie wątek ze stackoverflow: http://stackoverflow.com/questions/367711/...-mysql-with-php Sprawdziłem (dla odpowiedzi Alphonse Gabriel Capone, Al Caponeż, Al Capone - czyli Al Caponez/Al Caponeż) sobie kilka polecanych tam kombinacji i żadna nie działa prawidłowo. utf8_polish_ci i utf8_bin nie akceptuje żadnej wersji, a utf8_unicode_ci akceptuje obydwie. Czy jest możliwe, że jakoś zmienia się kodowanie wysyłanego tekstu i to psuje te znaki? Formularz wysyłam jako application/x-www-form-urlencoded;charset=utf-8, także nie powinno być problemów. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 02:43 |