SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
02. 11. 2006. | #11 |
Ivan Dilber
Sir Write-a-Lot
|
ajde dajte nek linkove i informacije o pravljenju collation tabela, ono sto znate... cisto za pocetak, posto ja nikako da nadjem neke primere kako se to radi...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
02. 11. 2006. | #12 |
Rade Joksimović
Professional
Datum učlanjenja: 27.10.2006
Poruke: 220
Hvala: 0
1 "Hvala" u 1 poruci
|
Unfortunately there is no documentation on how to create UTF8 collations.
But adding a new collation can be very easy. You need to edit these files: strings/ctype-uca.c mysys/charset-def.c Use swedish as an example. Also, note that: 1. Many languages are compatible with utf8_unicode_ci. So you don't need to create separate collations for them. For example German, French, Russian, Armenian, Greek. 2. Our Unicode Collation implementation have some limitations. It is currently not possible to create real full featured collations for ALL languages. For example, Hungarian have very complex contraction rules, i.e. when a combination of several letters is treated as a single sorting element. If you list all the languages you need, I could comment which of them can be implemented easily, and which of them require additional coding. http://forums.mysql.com/read.php?103...5093#msg-25093 Potrazicu clanke sa konkretnim uputstvima pa cu postaviti. |
02. 11. 2006. | #13 |
old school
Professional
|
Slicne putokaze je i meni dao Sinisa, s tim da me uputio i na strings/ctype-utf8.c, konkretno na matrice MY_UNICASE_INFO, kao i na share/charsets XML datoteke.
Nazalost, nisam u praksi sa MySQL-om imao potrebu za cirilicom, pa tako ne mogu ni reci nesto iz licnog iskustva. Evo nabrzaka sam nesto testirao na cirilici koristeci cp1251_general_ci , pa cu sutra napisati vise o tome.
__________________
Blog: Baze podataka ------------------------ Oracle OCP DBA Oracle OCE SQL Expert Oracle OCP Developer Certified MySQL DBA |
02. 11. 2006. | #14 |
Rade Joksimović
Professional
Datum učlanjenja: 27.10.2006
Poruke: 220
Hvala: 0
1 "Hvala" u 1 poruci
|
Cekamo rezultate Sad sam procitao da bi cp1251 (koji si koristio), koi8_ukr i win1251_ukr trebalo da podrzavaju cirilicu u potpunosti. Time will show. A sto se tice konkretnih uputstava za razvoj collationa slaba vajda, nigde nisam nasao.
Edit: http://downloads.mysql.com/docs/internals-en.pdf Poslednja izmena od zark0vac : 02. 11. 2006. u 02:50. |
03. 11. 2006. | #15 |
old school
Professional
|
Ne moze se koristiti cp1251 za collation.
Napravio sam par testova sa raznim collationima, pocevsi od cp1251_general_ci, preko cp1251_ukrainian_ci, pa do cp1251_bulgarian_ci. Kreirao sam jednostavnu tabelu sa dva polja: Kôd:
CREATE TABLE IF NOT EXISTS `test_cp1251` ( `id` tinyint(3) unsigned NOT NULL auto_increment, `ime` varchar(45) CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM; Kada pokusam unesena imena sortirati, dobijem slijedeci rezultat: Kôd:
SELECT ime FROM test_cp1251 ORDER BY ime; ime ------------ Чубрило Синиша Радиша Жарко Душан Горан Вељко Бојан Александар Љубиша Ђорђе
__________________
Blog: Baze podataka ------------------------ Oracle OCP DBA Oracle OCE SQL Expert Oracle OCP Developer Certified MySQL DBA |
08. 11. 2006. | #16 | |
old school
Professional
|
Mozda ipak ima sanse?
Kôd:
CREATE TABLE IF NOT EXISTS `test_utf8` ( `id` tinyint(3) unsigned NOT NULL auto_increment, `ime` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM; PHP kôd:
Citat:
Kôd:
SELECT * FROM test_utf8; id ime 1 Горан 2 Чубрило 3 Ђорђе 4 Синиша 5 Жарко 6 Радиша 7 Вељко 8 Душан 9 Бојан 10 Љубиша 11 Александар Kôd:
SELECT * FROM test_utf8 ORDER BY ime; id ime 11 Александар 9 Бојан 7 Вељко 1 Горан 8 Душан 3 Ђорђе 5 Жарко 10 Љубиша 6 Радиша 4 Синиша 2 Чубрило Ako neko ima vremena i volje, nek testira dalje, da li se ovaj collation moze koristiti ili ne. Osim toga, koga zanima ovaj collation, moze detaljniji redoslijed sortiranja pogledati ovdje: http://d.udm.net/bar/~bar/charts/utf8_unicode_ci.html
__________________
Blog: Baze podataka ------------------------ Oracle OCP DBA Oracle OCE SQL Expert Oracle OCP Developer Certified MySQL DBA Poslednja izmena od Dejan Topalovic : 08. 11. 2006. u 01:24. |
|
09. 11. 2006. | #17 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
Hm, pa ovaj redosled je sasvim u redu. Pitam se sta sam prevideo kada sam testirao utf_unicode_ci collation? U svakom slucaju, UTF8 cirilica vise nije problem
Ali i dalje ostaje pitanje, sta sa latinicom?
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams |
09. 11. 2006. | #18 |
Predrag Supurović
Grand Master
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
|
I jos nezgodnije pitanje, sta ako su cirilica i latinica pomesani?
__________________
Peđina beležnica (blog) - www.uzice.net - wireless.uzice.net - www.vokabular.org - www.vodic.net - forum.uzice.net |
09. 11. 2006. | #19 | |
old school
Professional
|
Citat:
@Pedja: Pa koliko vidim po redoslijedu, utf8_collation_ci bi trebao ispravno sortirati i kad je izmijesano, ali nisam siguran bez testiranja. Jebga, u zadnje vrijeme radim iskljucivo sa Oracleom, a jako malo sa MySQL-om, tako da iz prakse ne mogu nista reci...
__________________
Blog: Baze podataka ------------------------ Oracle OCP DBA Oracle OCE SQL Expert Oracle OCP Developer Certified MySQL DBA |
|
26. 04. 2007. | #20 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
Off Topic: Izvinjavam se što dižem temu iz mrtvih... Maločas opet pogledah utf8_unicode_ci raspored, i primetih jednu stvar: u collationu se nalaze naša slova "dž", "lj" i "nj" kao jedno-karakterni simboli, i što je najbolje nalaze se na odgovarajućim mestima. Ostaje pitanje: zašto Windows ne menja mapiranje tastera Q, W i X jedno-karakternim simbolima slova DŽ, NJ i LJ (verovatno sam omašio redosled respektivnih slova)? (Da nisam primetio da GNOME to radi, ne bih ni postavio ovo pitanje...) Sudeći po tom collationu, problem naših dvo-karakternih slova je rešen. Samo što retko ko može uopšte da koristi baš te znakove... Jedine "zamerke" koje imam na collation je to što prilikom sortiranja, slova C, Č i Ć imaju istu težinu - tretiraju se jednako, baš kao i S i Š, Z i Ž), i to što ćirilična slova nisu uglavljena na odgovarajuće pozicije između latiničnih slova...
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
ansi RTF -> utf8 HMTL konvertor? | ivanhoe | Web aplikacije, web servisi i software | 4 | 12. 12. 2010. 00:36 |
Postojeca baza Latin1 u UTF8 | mega023 | PHP | 7 | 20. 02. 2010. 03:32 |
Sort multi dimensional array | cvele | Code snippets | 1 | 18. 11. 2008. 11:07 |
ajax + utf8 | GaVrA | (X)HTML, JavaScript, DHTML, XML, CSS | 0 | 07. 11. 2008. 20:07 |
UTF8 i JavaScript | krcko | (X)HTML, JavaScript, DHTML, XML, CSS | 1 | 04. 10. 2006. 11:14 |