![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 10.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
hej
mam w tabeli 'test' rekordy np. id | nazwa 1 żółwik jak napisać select'a żeby wyjać powyższy rekord lecz w warunku żeby było WHERE NAZWA = 'zolwik' czyli używając wyrazów bez polskich znaków znaleźć w bazie wyrazy z polskimi znakami. Jest jakaś funkcja w mysql żeby zignorować polskie znaki podczas przeszukiwania bazy ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jest jakaś funkcja w mysql żeby zignorować polskie znaki podczas przeszukiwania bazy ![]() Tak, nie, prawie nazywa się replace. -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 10.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tak, nie, prawie nazywa się replace. replace moze i byłby dobry w odwrotnej sytuacji czyli przy szukaniu słowa z polskimi znakami w bazie gdzie nie ma polskich wyrazów chodzi mi o to ze nie wiem jak zmodyfikować zapytanie np. select nazwa from test where nazwa = 'zolw' ...cos w tym stylu - a ma znalezc rekord ktory w nazwie ma żółw (z polskimi znakami) W GOOGLE NIC SENSOWNEGO NIE MOGE ZNALEZC NA TEN TEMAT edit: a swoją drogą jak ładnie google indeksuje forum.php.pl - juz pojawiło sie w google na 1 pozycji z frazami ktore mnie interesują fiu fiu Ten post edytował natasha 12.01.2010, 15:13:30 |
|
|
![]()
Post
#4
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 10.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście kodowanie sobie dobierz. mam html i baze w utf8 czyli rozumiem ze dodaje COLLATE utf8_general_ci jednak to nic nie daje w jaki sposob powyzsze zapytanie ma spowodowac wyswietlenie rekordu o wartosci field = 'zółw' ![]() dodam ze nie mam zadnego problemu z kodowaniem na stronie i w bazie - po prostu szukam rozwiazania dla powyzszego problemu problem podobny jak w http://forum.php.pl/lofiversion/index.php/t92631.html jednak tez bez rozwiazania Ten post edytował natasha 12.01.2010, 16:12:08 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
FULL TEXT search w trybie niebinarnym olewa akcenty
|
|
|
![]()
Post
#7
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Pokaż zrzut tabeli i przykładowy rekord.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 10.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż zrzut tabeli i przykładowy rekord. proszę: CREATE TABLE IF NOT EXISTS `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nazwa` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; INSERT INTO `test` (`id`, `nazwa`) VALUES (1, 'żółw'); |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
[...] jak napisać select'a żeby wyjać powyższy rekord lecz w warunku żeby było WHERE NAZWA = 'zolwik' czyli używając wyrazów bez polskich znaków znaleźć w bazie wyrazy z polskimi znakami. Jest jakaś funkcja w mysql żeby zignorować polskie znaki podczas przeszukiwania bazy ![]()
Takie coś kiedyś wymyśliłem. Przy wyszukiwaniu trzeba użyć regexp. Pewnie nie jest to najlepsze rozwiazanie (powolne), ale w moim przypadku wystarczyło. -------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 10.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
jutro sprawdze ... tylko skoro to działa wolno to chyba w moim przypadku to moze nie zdac egzaminu - to ma służyć generowaniu linków czyli bedzie uzywane bardzo czesto
ps. po szybkim spojrzeniu widac ze ten kod tworzy wyrazenie regularne - tylko teraz jak połączyc to z zapytaniem mysql ![]() Ten post edytował natasha 13.01.2010, 00:01:59 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
jutro sprawdze ... tylko skoro to działa wolno to chyba w moim przypadku to moze nie zdac egzaminu - to ma służyć generowaniu linków czyli bedzie uzywane bardzo czesto Chodzi o to, że 'LIKE' jest wolniejsze od '='. Najlepiej sama potestuj czasy. A póki nie masz lepszego rozwiązania to zaimplementuj takie, bo funkcje masz już gotową ![]() Ten post edytował flashdev 13.01.2010, 00:25:48 -------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 10.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi o to, że 'LIKE' jest wolniejsze od '='. Najlepiej sama potestuj czasy. A póki nie masz lepszego rozwiązania to zaimplementuj takie, bo funkcje masz już gotową ![]() a można użyć like albo = z wyrażeniem regularnym w zapytaniu ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
a można użyć like albo = z wyrażeniem regularnym w zapytaniu ![]() Do zapytania regexp musisz użyć wyszukiwania 'REGEXP'. W poprzednim poście myślałem, że do tego jest 'LIKE', ale sam sie wprowadziłem w błąd bo miałem ustawiony inny typ danych w tabeli. Tak na zdrowy rozsądek 'REGEXP' będzie jeszcze wolniejsze od 'LIKE',a le to już najlepiej sama przetestuj na swojej bazie danych. W phpmyadmin masz podane czasy wykonywaia dla każdego zapytania sql. -------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 16.01.2010 Skąd: jakieś sugestie?? Ostrzeżenie: (0%) ![]() ![]() |
A nie jest przypadkiem zbyt dużo możliwości??
Nie lepiej będzie zrobić kolumnę z bezogonkowym odpowiednikiem słowa, które spolszczy słowo przy dodawaniu do tabeli?? ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 00:02 |