koja je verzija mysql-a?
koji je tip podataka u tabeli?
ako je MySQL Server 5.0 ili 5.1 i ako si pravilno napravio to iz starta onda je vrlo jednostavno ... konektuj se sa web-a koristeci utf8 i mysql ce sam da ti izkonvertuje podatke u utf8 ...
da pojasnim, ako ti je polje u tabeli napravljeno da koristi enkoding koji ume da snimi cp1251 (utf8 ili cp1251) i ti si pravilno unosio podatke (dakle pri konekciji na bazu si pravilno setovao client encoding na cp1251, sve sto sada treba da uradis je da se na bazu konektujes sa utf8 enkodingom (za php to znaci da posle konekcije uradis mysql_query('set names utf8');) i mysql ce sam odraditi konverziju podataka te tebi dati podatke formatirane kao utf8...
to je cela poenta podrske za karakter setove ... postoje 2 razlicite "informacije"
1. format polja (enkoding koji se koristi da se polje sacuva)
2. encoding klijenta (u kom formatu klijent prima/salje podatke)
dakle, ako je polje npr latin1, a klijent salje utf8 karakter Ć (2 bajta), kako je u latin1 nemoguce snimiti doticni karakter, mysql ce snimiti ? (Standardni znak za "ne valja karakter"). Ako je latin2 tip polja a klijent salje utf8 isti taj karakter, mysql ce ga snimiti kako treba (1 bajt) posto je taj karakter deo latin2 karakter set-a... (valjda je .. nisam siguran al recimo da jeste)... ako sada mi sa cp1520 citamo podatke, mysql ce taj karakter poslati klijentu u tom karakter setu (1 bajt), isto kao i da sa citas sa utf8, poslace taj karakter kako treba (ovaj put 2 bajta) ....
dakle, bitno je
1. da kazes mysql-u koji encoding koristi tvoj klijent da bi mysql znao sta mu saljes. To se u php-u radi sa "set names" a u vecini ostalih konektora imas poseban property koji treba da setujes (za java konektor na primer u uri ide charset=, za .net ima property etc etc)
2. da polje bude tipa koji moze da sacuva karakter koji zelis sacuvati (ne mozes da cuvas cirilicu u latin1 polju)
nadam se da ti ovo pomaze ... ako si pak lose krenuo, pa ti je polje latin1 a podatke si slao bez postavljenog karakter seta pa je mysql eventualno koristio to kao binarno polje, postoji mogucnost da se podaci u tabeli "poprave"