UTF-8 Search
Sziasztok!
Nincs valakinek egy UTF8-as anti-ékezetező function-ja valahol? :o)
Ha nem van, akkor persze szívesen megcsinálom és közzéteszem, csak egy tipp kéne, hogy vajon hogyan lesz: é=e ő=o stb.
(doksinak is örülnék)
Előre is köszönöm,
joschy
■ Nincs valakinek egy UTF8-as anti-ékezetező function-ja valahol? :o)
Ha nem van, akkor persze szívesen megcsinálom és közzéteszem, csak egy tipp kéne, hogy vajon hogyan lesz: é=e ő=o stb.
(doksinak is örülnék)
Előre is köszönöm,
joschy
Van
De Unicode táblázatok itt: http://www.unicode.org/charts/
Latin-1 táblázat: http://www.unicode.org/charts/PDF/U0080.pdf (de ő, ű Latin Extended A-ban van)
Pl. Á -> kódtáblázatban a kódja 00C1 -> binárisba átváltva: 11000001
Wikipedián van egy táblázat: http://en.wikipedia.org/wiki/UTF-8#Description
Táblázat alapján: 00C1 az 000080–0007FF között van ezért:
Ebbe: 110zzzzx 10xxxxxx kell beírni az előbbi binárist (00011000001)
Ez lesz: 11000011 10000001 (2 bájt) -> hexába: C3 és 81
PHP: \xc3\x81
De pl. PHP ord()-dal is megkaphatóak a kódok:
<Nincs cím>
Nagyon koszonom a valaszod :-)
Bonyolitsuk meg egy kicsit a dolgot:
Van-e barmi lehetoseg arra, hogy automatikusan kitalaljam, hogy ő,ö,ó-nak o az ekezet nelkuli valtozata?
Azert erdekelne, mert bar alapom a magyar ABC, de tovabbi nyelvi valtozatok keszulhetnek, ezert valami olyan eljarason torom a fejem, ami automatikusan minden ekezetesnek megtalalja az ekezet nelkuli parjat.
Az egyetlen kiindulasi alapom jelenleg a nevbol van (pl: o with ancent), byte szinten nem tudom lehet-e ilyet.
ord-dal nem szivesen csinalnam, mert eleve UTF-8 kodolasom van, ord ezt meg elcseszi mivel ASCII-ve nyomja at a cuccot; avagy:
Szoval azon kivul, hogy azt mondom, hogy:
Avagy ez igy eleg huzos lenne :-)
Koszi,
joschy
Nem tudok róla
(Amúgy chr()-es példa csak azért nem megy, mert a space-t benne hagytad a két bájt között.)
<Nincs cím>
SQL oldalrol is megprobaltam megkozeliteni a dolgot, de nem nagyon talaltam ott sem mas megoldast (mer ugye seach van), hogy letarolom kulon az ekezet-mentesitett verziot, de persze ehhez php-ben is kell dolgozni egy kicsit, mert ugye csak annak kellene letarolni az ekezet-mentesitett verziojat ami eleve ekezetes, nehogy 2 match legyen :-)
Koszi mindenesetre :-)
Udv:
joschy
strtr
return strtr($string,
"ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ",
"SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy");
Nem próbáltam, de majd egyszer...
Üdv
Zoli
<Nincs cím>
Nagyon hosszunak nez ez ki ha csak azt veszem, hogy 32+ U-beture konvertalandot nyomtam be az elobb, es az meg nem volt az osszes :-) nem beszelve az o a e i, es a mas nyelvekben honos massalhangzos dolgokra, kukacos, meg kalapos n, es tarsai :-)
De aze kosz, mindenkepp :-)
joschy
Experimental
Egyébként minek kell az ékezetmentesítés?
<Nincs cím>
Az igazi ok persze az, hogy jomagam aki mindig a magyar cuccok teljes tamogatasa mellett szoktam lobbizni azert ekezet nelkul keresek mindent :-) Avagy arrol van szo, hogy meg kene talalnom az árvíztűrő tükörfúrógépet arvizturo tukorfurogep neven is :-)
Nem lehet
<Nincs cím>
Jelenleg 2 otvar megoldas letezik a problemara, es mind2-nel meg koll valositani egy ilyen manualis ide-oda konverzios dolgot, tehat elkerulhetetlen egy utf-8 deaccenter function letrehozasa :-)
1) sql-ben letarolom az ekezet-mentes nevet is egeszen addig amig nincs jo megoldas :-)
2) mindent atszivok php-ba (SELECT * FROM sky), es ottan probalkozok realtime ezzel az ide-oda konvertalommal.
A kerdes az, hogy vajon php-ban megoldva a dolgot mennyivel nagyobb performance impact, mintha egy SQL szerver csinalna?
Koszi,
joschy
Itt tal'lsz egy megoldást
--------
Poetro