![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 23.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki oto problem.
Jeżeli $nick zawiera polskie znaki np. ó, ż w nazwie nicka przesłanego z formularza to otrzymuje komunikat o błędzie. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\WebServ\httpd-users\NOWA_WERSJA\login.php on line 42 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\WebServ\httpd-users\NOWA_WERSJA\login.php on line 44 A to fragment kodu przesyłającego zapytanie.
Natomiast jeśli w $nick nie ma polskich znaków to zapytanie wykonuj się normalnie i nie mam żadnego komunikatu o błędzie. Kodowanie w bazie danych mam na utf8_unicode_ci, a nagłówki ustawione na stronie wyglądają tak:
Nie wiem dlaczego ten błąd mi się pojawia tylko wtedy gdy podaje w formularzu jako nick słowo zawierające polskie litery. To samo dzieje sie w innych formularzach jeśli podam w nich polskie znaki. :/ Czy to dlatego że jest kodowanie utf8. Może mam źle ustawione nagłówki xhtml. Tylko jak mam je ustawić aby to ruszyło. A może to wina bazy danych. Używam localhosta webserv2. Gdy wykonuje zapytanie przez phpmyadmin to działa normalnie.
Proszę, może ktoś mi doradzi co mam zrobić? Ten post edytował Rude Dude 14.07.2008, 21:46:59 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Co dokladnie wyswietla? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 23.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wyświetliło to:
zapytanie: SELECT id, haslo FROM uzytkownicy WHERE nick = 'ósemka' --blad:Illegal mix of collations (latin2_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=' Znalazłem podobobny temat z tym błędem który podałem wyżej. http://forum.php.pl/lofiversion/index.php/t25622.html Dalej nie wiem jak to rozwiązać. Używam MySQL 5.0.45 wraz z webservem. Ten post edytował Rude Dude 14.07.2008, 22:09:46 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Daj:
Przed wykonaniem jakiegokolwiek zapytania. Prawdopodobnie baza domyslnie ma ustawione uzywanie latin2. |
|
|
![]() ![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 23.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki. Faktycznie teraz nie wywala błędu. W takim razie coś źle jest skonfigurowana baza danych na localhoscie.
Wrzuciłem pliki na serwer hostingowy i tam nie wyskakiwał błąd. Tylko na localu on występuje. Dzięki za pomoc! === EDIT: Rozszyfrowałem to! Teraz wszystko działa, łącznie z wyszukiwaniem w bazie tekstu z polskimi znakami. Oto konfiguracja jaką mam teraz ustawioną. ### Kodowanie bazy: ustawienia w phpmyadmin: + System kodowania znaków dla MySQL: UTF-8 Unicode (utf8) + System porównań dla połączenia MySQL: utf8_unicode_ci + tworzac nową baze ustawic kodowanie na utf8_unicode_ci + dodając tabele do bazy należy dodać na końcu zapytanie:
(tutaj przykład zapytania)
+ UWAGA: Nie wolno przez phpmyadmin edytowac zawartości pól z polskimi znakami, ponieważ przechowywane są jako dziwne krzaczki i jak sie je zmieni przez phpmyadmin na polskie znaki to na stronie www wyświetlą się jako krzaczki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Rude Dude 18.07.2008, 14:52:00 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 25.03.2010 Skąd: Radom Ostrzeżenie: (10%) ![]() ![]() |
Odgrzewam kotleta bo mam ten sam problem.
Część bazy: http://screenshooter.net/0562655/19_05_2012__19_13_32 Połączenie z bazą http://screenshooter.net/0562655/19_05_2012__19_13_49 (gdy w bazie zmienię z utf_polish_ci na takie jak w linku powyżej nic to nie zmienia)
I tym sposobem zwraca tylko wyniki z użytkownikami który w Imieniu oraz Nazwisku nie mają polskich znaków. A gdy wkleje zapytanie z Query bezpośrednio do bazy zwraca wszystkie wyniki Co zrobić aby zwróciło wszystkich? Ten post edytował qweluke 19.05.2012, 18:19:35 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 23.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czy plik php jest zapisany w kodowaniu utf8?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 25.03.2010 Skąd: Radom Ostrzeżenie: (10%) ![]() ![]() |
UTF-8 (bez BOOM)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 13:38 |