za tabelu, kada je kreiras .. uradi "show create table imetabeleG" i
videces koji je charset tamo, za ti sto ti radis kapiram da koristis
kolaciju cp1250_general_ci, dakle create izgleda npr ovako
create table t1 (pk int auto_increment not null primary key, v char(10))
engine=innodb character set 'cp1250' collate 'cp1250_general_ci';
kada se konektujes na bazu treba da se konektujes "validno", dakle treba
da postavis character set kako treba (kolacija je ovde nebitna), nije
mnogo bitno koji je karatker set, ti mozes da se okacis na mysql i sa
UTF8 karakter setom i mysql ce pravilno da upise u tabelu datu i da
pravilno iscita iz tabele datu i odradice u letu konverziju iz cp1250 u
to sa cime si se zakacio. Problem je ako se zakacis sa karakter setom
koji nema karaktere koje koristis. Na primer ako se okacis na mysql sa
LATIN1, u latin1 ne postoje neki karakteri i ti ako procitas datu iz
mysql-a (a okacio si se kao latin1) mysql ce ti tu vratiti ? za svaki
karakter koji ne postoji u latin1 karakter setu. Isto tako svaki
karakter koji posaljes ka mysql-u koji ne moze da se iskonvertuje u
cp1250 on ce upisati kao ?
e sad gde se u odbc-u silji kako se konektujes na mysql, tj koji je
karatakter set, pojma nemam .. a sad nemam koga da pitam konektor tim je
na drugoj strani kugle i otisli su svi na spavanje, ako ne resis pitacu
u ponedeljak .. ovde kod mene nemam nigde instaliran odbc da probam ali
proklikci malo sigurno ima negde ..
kada sam pravis connection string onda je to nesto tipa:
|Driver={MySQL ODBC 5.1
Driver};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;||charset=UTF8;
e sad ti bi ovde umesto UTF8 mogao da stavis cp1250, no sta je fora,
bitno je da sam odbc to razume, u svakom slucaju skini najnoviji mysql
odbc pa vidi da li tamo u dsn-u moze negde da se naklika charset
|