[MySQL] REGEXP =?UTF-8?B?ZG9rxYJhZG5pZSBkd2Egem5ha2k=?=
| - 09-01-2007 00:01
[MySQL] REGEXP =?UTF-8?B?ZG9rxYJhZG5pZSBkd2Egem5ha2k=?=
witam
Jak powinien wyglądać warunek dla REGEXP wg którego zostaną znalezione zwroty zawierające po kolei obok siebie:
literę s literę p dowolną literę dowolną literę literę k literę a
czyli chce aby regexp znalazł zarówno 'spółka' jak i 'spinka'
wg mnie powinno to być 'sp..ka', ale nie działa. nie działa też 'sp.{2}ka' ani inne kombinacje.
Natomiast 'sp.+ka' wyszukuje także ciągi 'sprzączka', co jest dla mnie efektem nieporządanym
-- body { name: '|<oĂąrad Karpieszu>|'; visit: url('http://www.vivamozilla.civ.pl'); blog: url('http://aukcjoteka.blogspot.com/'); }
Maciek Dobrzanski - 09-01-2007 00:01
> wg mnie powinno to być 'sp..ka', ale nie działa. nie działa też 'sp.{2}ka' > ani inne kombinacje.
REGEXP nie radzi sobie z danymi zapisanymi w UTFie, a wyglada na to, ze kolumny masz wlasnie z takim kodowaniem znakow.
Maciek
| - 09-01-2007 00:01
Maciek Dobrzanski napisał(a): >> wg mnie powinno to być 'sp..ka', ale nie działa. nie działa też 'sp.{2}ka' >> ani inne kombinacje. > > REGEXP nie radzi sobie z danymi zapisanymi w UTFie, a wyglada na to, ze > kolumny masz wlasnie z takim kodowaniem znakow.
hmm, kurecze, to jak sobie poradzic z wyszukiwaniem w aplikacji php+mysql?
Baze mam faktycznie utf8_latin_ci strony php mam utf-8
Chce aby wyszukiwarka php znalazla w bazie szukaną frazę niezaleznie od wielkości liter (we frazie szukanej i bazie), dodatkowo mogą być polskie litery
Teraz tak: niby w arch grupy znalazlem ze szukanie w mysql jest niewrazliwie na wielkosc liter, ale jakos nie u mnie. zgadza sie dopoki nie ma polskich liter. jak to obejsc?
-- body { name: '|<oĂąrad Karpieszu>|'; visit: url('http://www.vivamozilla.civ.pl'); blog: url('http://aukcjoteka.blogspot.com/'); }
| - 09-01-2007 00:01
|<onrad napisał(a): > Teraz tak: niby w arch grupy znalazlem ze szukanie w mysql jest > niewrazliwie na wielkosc liter, ale jakos nie u mnie. zgadza sie dopoki > nie ma polskich liter. jak to obejsc?
ha, no i chyba znalazłem Spółkę, SPÓŁKĘ, a nawet sPóŁkĘ można znaleźć w mianowniu przez
'sp(ó|Ó)(ł|Ł)ka'
Zatem string z formularza trzeba zamienić odpowiednio
Jesli ktos już widzi słabości to uszy mam otwarte, ale na razie ide testować
-- body { name: '|<oĂąrad Karpieszu>|'; visit: url('http://www.vivamozilla.civ.pl'); blog: url('http://aukcjoteka.blogspot.com/'); }
Maciek Dobrzanski - 09-01-2007 00:01
"|<onrad" <bez.adresu@jest.bardziej.trendy> wrote in message news:enu51e$s8i$1@inews.gazeta.pl...
> hmm, kurecze, to jak sobie poradzic z wyszukiwaniem w aplikacji php+mysql? > > Baze mam faktycznie utf8_latin_ci
Takiego czegoś nie ma. Najpewniej albo utf8_polish_ci, albo utf8_general_ci. Oba są zresztą utf8_*_CI, czyli CaseInsensitive. Jedyny wrażliwy na wielkości znaków to utf8_bin.
Maciek
Maciek Dobrzanski - 09-01-2007 00:01
"|<onrad" <bez.adresu@jest.bardziej.trendy> wrote in message news:enu595$s8i$3@inews.gazeta.pl...
> Jesli ktos już widzi słabości to uszy mam otwarte, ale na razie ide > testować
REGEXP nie pozwala na sensowne korzystanie z indeksów. Jeśli już musisz to realizować w ten sposób, to lepiej ograniczyć sobie liczbę wyników czymś, co zrobi to po kluczu, czyli np:
SELECT * FROM tabela WHERE pole LIKE 'sp__ka' AND CONVERT(pole USING latin2) REGEXP _latin2'^sp[a-z?ćęłńó?żĄ][a-z?ćęłńó?żĄ]ka$'
Maciek
| - 10-01-2007 00:14
|<onrad napisał(a): > |<onrad napisał(a): >> Teraz tak: niby w arch grupy znalazlem ze szukanie w mysql jest >> niewrazliwie na wielkosc liter, ale jakos nie u mnie. zgadza sie >> dopoki nie ma polskich liter. jak to obejsc? > > ha, no i chyba znalazłem Spółkę, SPÓŁKĘ, a nawet sPóŁkĘ można znaleźć w > mianowniu przez > > 'sp(ó|Ó)(ł|Ł)ka' > > Zatem string z formularza trzeba zamienić odpowiednio > > Jesli ktos już widzi słabości to uszy mam otwarte, ale na razie ide > testować
wlasnie odkrylem ze na innym serwerze to mi nie dziala. Tam gdzie dziala mam MySQL 5.x, tam gdzie nie dziala - 4.x. Czy to jest powodem (czy 4.x nie obsluguje regexp lub nie obsluguje go w pelni), czy tez szukac innych przyczyn?
-- body { name: '|<oĂąrad Karpieszu>|'; visit: url('http://www.vivamozilla.civ.pl'); blog: url('http://aukcjoteka.blogspot.com/'); }
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.planette.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|