Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zmusić MySQL do ignorowania polskich znaków diakrytycznych?
Forum PHP.pl > Forum > Bazy danych > MySQL
nexis
Mam tabelę, w której jest m.in. pole tekstowe (varchar) z kodowaniem utf8_general_ci. Wykorzystuje to pole w wyszukiwarce poprzez:

  1. SELECT `pole` FROM `tabela` WHERE `pole` LIKE 'Żółw%'


Zapytanie zwraca oczywiście tylko rekordy, które dokładnie spełniają powyższy warunek. Chciałbym jednak aby następujące zapytanie również zwróciło w/w rekordy:

  1. SELECT `pole` FROM `tabela` WHERE `pole` LIKE 'zolw%'


Czyli w efekcie końcowym chciałbym dać użytkownikowi możliwość nie przejmowania się poprawnym stosowaniem polskich znaków diakrytycznych.

Abonamentów algorytmy.pl prosiłbym o spojrzenie czy w tym artykule autor rozwiązuje problem.
erix
Zostaje chyba tylko:
  1. <?php
  2. iconv('UTF-8', 'ASCII//TRANSLIT', "ęóąśłżźćń")
  3. ?>

...
ddiceman
jak robiłem kiedyś wyszukiwarke ulic to w tabeli z nazwami ulic... przechowywalem 2 nazwy: jedną poprawną i jedną bez ogonków.
To co wpisał użytkownik odzierałem z ogonków i porównywałem z tym drugim polem a jako wynik wyszukiwania wyświetlalem pierwsze.
Rozwiązanie to z pewnością jest zdecydowanie szybsze niż dowolna konwersja na wierszach MySQL w locie
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.