Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Select i polskie znaki w uwarunkowaniu zapytania
Forum PHP.pl > Forum > Bazy danych > MySQL
Michael2318
Moje zapytanie wygląda mniej więcej tak:

  1. SELECT advert_id FROM `oop_adverts` WHERE cat_down = :id AND province = :province AND MATCH (`location`) AGAINST (:location);


Przykład w praktyce:

  1. SELECT advert_id FROM `oop_adverts` WHERE cat_down = 3 AND province = 5 AND MATCH (`location`) AGAINST ('Kraków');


Problem jest tego typu, że w bazie są rekordy z wpisem równym 'Kraków' dla `location`, niestety wynik jest taki, że nic nie zwraca. Jeśli wpiszę tam miejscowość bez pl znaków i istnieje takowa w mojej bazie to wszystko znajduje, więc od razu widać, że problem jest z kodowaniem.

Dodawałem na końcu zapytania COLLATE utf8_unicode_ci (bo taką mam metode porównywania w tej tabeli), ale wypluł mi znów jakiś błąd:
Cytat
Syntax error or access violation: 1253 COLLATION 'utf8_unicode_ci' is not valid for CHARACTER SET 'binary''


I nie wiem już w jaki sposób podejść do tego problemu :/
Turson
http://turson.pl/blog/php/polskie-znaki-w-dokumencie-php
+
w PMA
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_polish_ci
ALTER DATABASE dbname CONVERT TO CHARACTER SET utf8 COLLATE utf8_polish_ci;
Michael2318
Niestety nie pomaga :/
com
Masz problem bo w bazie masz ustawione kodowanie na binary a potem chcesz zrobić z niego utf8_unicode_ci wink.gif wszędzie musi być takie samo albo tak jak napisał Turson ,prze konwertuj je odpowiednio smile.gif

http://dev.mysql.com/doc/refman/5.0/en/charset-charsets.html

http://www.php.pl/Wortal/Artykuly/Pomysly-...e-znaki-a-MySQL
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.