![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z kodowaniem, a dokładnie z wyszukiwaniem słów z polskimi znakami przez wyszukiwarkę na stronie w bazie danych MySQL. Problem polega na tym że w bazie są słowa z małych i dużych liter. np. ciepły, CIEPŁY zamiennie. Wyszukiwarka bez żadnego problemu znajduje rekordy gdzie wpiszę słowo z polską DUŻĄ literą lub polską MAŁĄ literką. czyli na przykładzie: szukając CIEPŁY - znajduje wszystkie rekordy z CIEPŁY, szukając ciepły znajduje wszystkie rekordy ciepły, a... szukając ciepŁy znajduję słowa CIEPŁY (prawidłowo, bo wielkość liter ma nie być uwzględniana) Teraz proszę o pomoc w rozwiązaniu problemu dlaczego zapytanie MySQL zwraca uwagę na wielkość polskich i jak zrobić aby MySQL nie zwracał uwagi na wielkość polskich znakiów. Szczegóły techniczne: Strona oraz pliki PHP/wyszukiwarki są kodowane w UTF-8 MySQL rekordy są kodowane w UTF8_general_ci sprawdzałem działanie funkcji PHP oraz MySQL: mb_strtolower() strtolower() z połączoną funkcją MYSQL dla kolumny i wyszukiwanego elementu: CONVERT() LOWER() fragment zapytania mysql: (LOWER(t.wyszukiwanie) LIKE LOWER('%{$nazwa}%') ) innych pomysłów nie mam. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 246 Pomógł: 79 Dołączył: 25.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Pomysł z LOWER() lub UPPER() jest uniwersalny i w zasadzie niezależny od bazy danych.
-------------------- Jeśli ten post pomógł to kliknij przycisk
![]() Nie pomagam przez PW, GG, e-mail, faks, telegram, znaki dymne, ... |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
jednakże i tak jest to zbędne bo utf8_general_ci podczas wyszukiwania znaków nie uwzględnia wielkości liter czyli jak wpiszę:
%ciep% to znajdzie mi te które mają słowo CIEPŁO jak i ciepło, ale jak wpiszę %ciepło% to znajdzie mi tylko te słowa które mają w bazie z małą literę Ł. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem co chcesz mi przekazać. Bo Convert stowałem a COLLATE mam ustawiony jako UTF8 i nadal problem z wyszukaniem.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 21:43 |