Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Nie działa zapytanie sql gdy w treści są polskie znaki
finka
post
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
 
Start new topic
Odpowiedzi
finka
post
Post #2





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

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 04:32