Autor | Zpráva | ||
---|---|---|---|
Dife Profil |
#1 · Zasláno: 6. 8. 2007, 16:10:38
kdyz chci vyhledat pošt tak mi databaze vychrli co chci
ale kdyz to zadan bez diakrytiky tak me to danou vec nezobrazi ... potrebuju aby db pochopila ze ma najit vse co je z diakytikou a take bez ni. neznate nekdo nejakou radu .,? dekuji za cokoliv |
||
Casero Profil |
#2 · Zasláno: 6. 8. 2007, 16:23:05
Dife
Co ještě v php odstranit diakritiku? strTr() |
||
Dife Profil |
#3 · Zasláno: 6. 8. 2007, 16:26:59
Casero
ne tak to nejde tak se to chova naprosto stejne jako kdybych to napsal bez diakritiky |
||
Kajman_ Profil * |
#4 · Zasláno: 6. 8. 2007, 16:36:59
Obecně si můžete data uložit i s odstraněnou diakritikou a vyhledávat v tom pomocném sloupečku.
Stejně nechápu, jak s tím můžete mít problém, když diakritiku nepoužíváte. |
||
Dife Profil |
#5 · Zasláno: 6. 8. 2007, 17:02:30
Kajman_
obecne to nepuzivam jen ja ale mnoho jinych a dikritika je dulezita pri vypisovani z db |
||
Dife Profil |
#6 · Zasláno: 6. 8. 2007, 22:18:06
Kajman_
abych to upresnil potrebuju se zeptat databaze na slovo post a chci po ni aby vypsala bez rozdilu jestli je ve slove hacek ci velke pismeno vse co obsahuje dotycny retezec. hledal jsem neco a nasel jsem : CONVERT( _cp1250 'ěščř' USING utf8 ) COLLATE utf8_general_ci; ale najak to nefunguje jedine co pomohlo tak kdyz v databazi prepnu porovnavani z : utf8_czech_ci na utf8_general_ci tak to dela to co chci. jenze ja chci vest dotaz ne menit porovnani v databazi.. dekuji |
||
BetaCam Profil |
#7 · Zasláno: 7. 8. 2007, 02:37:40
abych to upresnil potrebuju se zeptat databaze na slovo post a chci po ni aby vypsala bez rozdilu jestli je ve slove hacek ci velke pismeno vse co obsahuje dotycny retezec.
ale Kajman_ ti na to přece odpověděl :) Prepošlu ti sem post, kterej sem psal na jiném serveru na podobné téma před nějakou dobou i když je to v podstatě rozšířený popis řešení které uvedl Kajman_. Mužes si treba udelat dva sloupce v DB a už pri vkladani textu do jednoho vlozit s diakritikou a do druheho bez diakritiky. Pak z hledaného výrazu odstraníš diakritiku a prohledáš sloupec v DB kde diakritika neni. Pokud se tam nekde hledanej výraz najde necháš si vypsat sloupec ve kterém diakritika je. Pak ti je fuk jestli to nekdo zada s diakritikou nebo bez. Pokud hledám výraz "štěstí" tak vráceny budou všechny varianty s diakritikou tedy napr. : štestí štesti stestí stěsti atd. nehrozí tedy že se nekdo pri psaní článku sekne a napiše "štestí" místo "štěstí" a pak pri hledání ve článcích by ti to při hledaném výrazu "štěstí" ten článek nenašlo. Ale v podstatě ti tímto řešením vzniká "redundance" dat a tím pádem vše co je sní spojeno. |
||
Dife Profil |
#8 · Zasláno: 7. 8. 2007, 08:06:04
BetaCam
ale to je prece zbytecne abych delal dalsi sloupec s tim samym textem jen bez diakritiky. spatne jsem zrejme formuloval dotaz jde o to ze chci vytahnou vsechny radky ktere obsahuji v textu slovo post bez rozdilu na diakritiku |
||
Časová prodleva: 6 dní
|
|||
krteczek Profil |
#9 · Zasláno: 12. 8. 2007, 21:04:52
Dife: je otázka jestli to co napsali chápeš správně... k dnešnímu dni neexistuje jiný jednoduchý způsob u MySql databáze než výše popsaný. Takže pokud chceš vyhledávat bez diakritiky, nezbývá než přidat sloupeček a do něj znovu text bez diakritiky
|
||
Časová prodleva: 7 dní
|
|||
david8445 Profil * |
#10 · Zasláno: 19. 8. 2007, 23:18:27
myslim, ze to jde resit takto:
SELECT jmeno FROM lidi WHERE jmeno COLLATE 'utf8_general_ci' LIKE '%krc%'; potom ve sloupci s razenim 'utf8_czech_ci' najde i jmeno 'Krčma'. |
||
Časová prodleva: 1 rok
|
|||
kubakubikula Profil * |
#11 · Zasláno: 15. 12. 2008, 17:46:03
Ahoj, přesně tento zápis jsem potřeboval, ale v této podobě nefunguje, potom nevrací select žádný výsledek.
|
||
Časová prodleva: 15 let
|
0