DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > SQL baze podataka - Sponzor: Baze-Podataka.net
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

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

Odgovori
 
Alati teme Način prikaza
Staro 02. 11. 2006.   #11
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

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.
ivanhoe je offline   Odgovorite uz citat
Staro 02. 11. 2006.   #12
zark0vac
Rade Joksimović
Professional
 
Datum učlanjenja: 27.10.2006
Poruke: 220
Hvala: 0
1 "Hvala" u 1 poruci
zark0vac is on a distinguished road
Default

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.
zark0vac je offline   Odgovorite uz citat
Staro 02. 11. 2006.   #13
Dejan Topalovic
old school
Professional
 
Datum učlanjenja: 15.02.2006
Lokacija: Wien, Austria
Poruke: 304
Hvala: 121
47 "Hvala" u 26 poruka
Dejan Topalovic će postati "faca" uskoro
Pošaljite poruku preko MSN za Dejan Topalovic
Default

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
Dejan Topalovic je offline   Odgovorite uz citat
Staro 02. 11. 2006.   #14
zark0vac
Rade Joksimović
Professional
 
Datum učlanjenja: 27.10.2006
Poruke: 220
Hvala: 0
1 "Hvala" u 1 poruci
zark0vac is on a distinguished road
Default

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 03:50.
zark0vac je offline   Odgovorite uz citat
Staro 03. 11. 2006.   #15
Dejan Topalovic
old school
Professional
 
Datum učlanjenja: 15.02.2006
Lokacija: Wien, Austria
Poruke: 304
Hvala: 121
47 "Hvala" u 26 poruka
Dejan Topalovic će postati "faca" uskoro
Pošaljite poruku preko MSN za Dejan Topalovic
Default

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;
Imena sam unio pomocu PHP-a tako sto sam kreirao staticki array sa imenima na cirilici i potom ih sa shuffle() promijesao prije unosa.

Kada pokusam unesena imena sortirati, dobijem slijedeci rezultat:
Kôd:
SELECT ime FROM test_cp1251 ORDER BY ime;
 
ime
------------
Чубрило 
Синиша 
Радиша 
Жарко 
Душан 
Горан 
Вељко 
Бојан 
Александар 
Љубиша 
Ђорђе
Idemo dalje za iste pare.
__________________
Blog: Baze podataka
------------------------
Oracle OCP DBA
Oracle OCE SQL Expert
Oracle OCP Developer
Certified MySQL DBA
Dejan Topalovic je offline   Odgovorite uz citat
Staro 08. 11. 2006.   #16
Dejan Topalovic
old school
Professional
 
Datum učlanjenja: 15.02.2006
Lokacija: Wien, Austria
Poruke: 304
Hvala: 121
47 "Hvala" u 26 poruka
Dejan Topalovic će postati "faca" uskoro
Pošaljite poruku preko MSN za Dejan Topalovic
Default

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;
Imena sam kao i u prethodnom testu unio pomocu PHP skripte:
PHP kôd:
<?php
$conn 
= new mysqli('localhost''username''password');
$conn->select_db('dejan');
$conn->set_charset("utf8");
$conn->query("SET NAMES 'utf8'");
$array 
array(
'Александар','Бојан','Вељко','Горан','Душан','Ђорђе'
,'Жарко','Љубиша','Радиша','Синиша','Чубрило');
 
shuffle($array);
 
foreach(
$array as $ime)
{
$insert "INSERT INTO test_utf8 VALUES(NULL, 
'"
.$ime."')";
$result $conn->query($insert);
if(
$result)
{
echo 
"Ime ".$ime." je uneseno!<br>";
}
}
$conn->close();
?>
Nakon pokretana skripte, ispisu se unesena imena:
Citat:
Ime Горан je uneseno!
Ime Чубрило je uneseno!
Ime Ђорђе je uneseno!
Ime Синиша je uneseno!
Ime Жарко je uneseno!
Ime Радиша je uneseno!
Ime Вељко je uneseno!
Ime Душан je uneseno!
Ime Бојан je uneseno!
Ime Љубиша je uneseno!
Ime Александар je uneseno!
Provjerimo da li su imena unesena:
Kôd:
 
SELECT * FROM test_utf8;
 
id ime 
1 Горан 
2 Чубрило 
3 Ђорђе 
4 Синиша 
5 Жарко 
6 Радиша 
7 Вељко 
8 Душан 
9 Бојан 
10 Љубиша 
11 Александар
I potom sortirano:
Kôd:
 
SELECT *
FROM test_utf8
ORDER BY ime;
 
id ime 
11 Александар 
9 Бојан 
7 Вељко 
1 Горан 
8 Душан 
3 Ђорђе 
5 Жарко 
10 Љубиша 
6 Радиша 
4 Синиша 
2 Чубрило
Moglo bi biti korisno...

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 02:24.
Dejan Topalovic je offline   Odgovorite uz citat
Staro 09. 11. 2006.   #17
zextra
Boris
Grand Master
 
Avatar zextra
 
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
zextra is on a distinguished roadzextra is on a distinguished road
Default

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
zextra je offline   Odgovorite uz citat
Staro 09. 11. 2006.   #18
Pedja
Predrag Supurović
Grand Master
 
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
Pedja is on a distinguished roadPedja is on a distinguished roadPedja is on a distinguished road
Default

I jos nezgodnije pitanje, sta ako su cirilica i latinica pomesani?
Pedja je offline   Odgovorite uz citat
Staro 09. 11. 2006.   #19
Dejan Topalovic
old school
Professional
 
Datum učlanjenja: 15.02.2006
Lokacija: Wien, Austria
Poruke: 304
Hvala: 121
47 "Hvala" u 26 poruka
Dejan Topalovic će postati "faca" uskoro
Pošaljite poruku preko MSN za Dejan Topalovic
Default

Citat:
Originalno napisao zextra
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?
Za latinicu je preporucen hrvatski collation (latin2_croatian_ci).

@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
Dejan Topalovic je offline   Odgovorite uz citat
Staro 26. 04. 2007.   #20
zextra
Boris
Grand Master
 
Avatar zextra
 
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
zextra is on a distinguished roadzextra is on a distinguished road
Default

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
zextra je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

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. 01:36
Postojeca baza Latin1 u UTF8 mega023 PHP 7 20. 02. 2010. 04:32
Sort multi dimensional array cvele Code snippets 1 18. 11. 2008. 12:07
ajax + utf8 GaVrA (X)HTML, JavaScript, DHTML, XML, CSS 0 07. 11. 2008. 21:07
UTF8 i JavaScript krcko (X)HTML, JavaScript, DHTML, XML, CSS 1 04. 10. 2006. 12:14


Vreme je GMT +2. Trenutno vreme je 13:35.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.