Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Nie działa zapytanie sql gdy w treści są polskie znaki
finka
post 12.02.2014, 14:04:07
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 13.01.2014

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


  1. echo $sql = "SELECT id,tytul FROM `dane` WHERE match(tytul) against ('$szukane' IN BOOLEAN MODE ) >= $minimalna_zgodnosc AND `check`=0 GROUP BY link ORDER BY match( tytul ) against ('$szukane' IN BOOLEAN MODE) DESC ";
  2.  
  3. $result= mysql_query($sql);
  4. if(mysql_num_rows($result) > 0) {
  5. while {wyswietlanie danych}
  6. }


Działa to poprawnie gdy $szukane nie zawiera polskich znaków, gdy wpiszę słowo z ogonkami skrypt przyjmuje, że mysql_num_rows=0, czyli nie pobiera wyników.
Gdy to samo zapytanie (wyświetlone za pomocą echo) wkleję do phpmyadmina to pięknie dostaję wszystkie wyniki z polskimi znakami!

Wychodziło by na to, że skrypt jakoś inaczej koduje polskie znaki, ale:

Baza jest w latin 2, skrypt w utf8, lecz próbowałem $szukane konwertować za pomocą iconv z utf8 do latin 2 jednak i tak to nic nie daje.

Co mam więc zrobić, żeby skrypt pobierał mi wyniki dla zapytań z polskimi znakami ?

Ten post edytował finka 12.02.2014, 14:04:51
Go to the top of the page
+Quote Post
mmmmmmm
post 12.02.2014, 14:37:51
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Ustawić dobre kodowanie... Zaróno na WWW, jak i w bazie. O ile mnie pamięć nie myli jest do tego przyklejony wtek.
Go to the top of the page
+Quote Post
finka
post 12.02.2014, 15:44:24
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 13.01.2014

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


Zostało dodane:

mysql_query('SET character_set_connection=latin2');
mysql_query('SET character_set_client=latin2');
mysql_query('SET character_set_results=latin2');
mysql_query('SET NAMES latin2');

czyli tak jak jest w bazie.

Skrypt zarówno w kodówaniu latin2 jaki i utf-8 zachowuje się tak samo, czyli nie wyświetla dalej wyników dla polskich znaków.

Czy mogę jakoś sprawdzić co tak naprawdę skrypt porównuje i czym to się różni od tego co jest w bazie ?
Go to the top of the page
+Quote Post
Damonsson
post 12.02.2014, 15:52:54
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Jeżeli zastosujesz się do każdego postu z ( Temat: MYSQL Polskie znaki ) i problem będzie występował nadal, znaczy, że masz zaburzenia psychiczne i ten problem nie istnieje, jest tylko imaginacją Twojej wyobraźni, my nie pomożemy.

Ten post edytował Damonsson 12.02.2014, 15:53:05
Go to the top of the page
+Quote Post

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: 1.06.2025 - 10:28