Tema: Re: MSSQL ir koduote
Autorius: If
Data: 2011-06-14 19:45:06
Kaip visad eilini karta, tik vienas kaip dazniausiai prie tiesos atsakymas 
buvo, ir kaip visad per nelyg moksliskai formaliai paaiskintas. Visus kitus 
norisi pasiusti i pirma programavimo pradziamokslio klase.
  Aiskiai ponai pasakyta buvo, tai atvaizdavimo problema, ir pofik su kokia 
kalba jus ta problema istraukiate, ir kaip ji guli pacioje duombazeje.
Taigi griztame prie atvaizdavimo problemos. Kas ja sudaro.
  Teisingai mazuciai, saunuoliai, taip ir zinojau, kad jus susigaudysite, 
kad ja sudaro juzerio OS nustatymai ir duomenu atvaizdavimo Controlo 
nustatymai ir kokia koduote ateina i juos.
Taigi pasiimam 1251 koduotes teksta, kuris ateina pas juzerius kaip taisykle 
marijos zemeje su nustatyta OS pagal nutylejima ant 1257 koduotes, arba kuri 
korektiskai atvaizduoja UTF8 Unicode.

1 Isitikinti ar tai tiesa galim pabandyti perstatyti OS ant Russian default 
koduotes.
2 Jei visgi reikia ant Lietuviskos OS koduotes, turime rasti tiesiog tam 
controlui tinkama sena True Type ne Unicode Cyrilic srifta. Nors control 
savybes turi nustatyti sriftus tam tikrai kalbai, paprastai pagal default 
nustatytose OS, kitomis kalbomis jo tiesiog nera. Tai gali gelbeti tiesiog 
ta kalba pateiktas atskyras sriftas.
3 Pirmi du sprendimo budai yra neteisingi ir butu lameriski, tai kam as juos 
pateikiau, todel kad megstu daug kalbeti, o tiesa pasakyti gale, nes tai ka 
parasau gale, paprastai neskaitoma. Teisingas sprendimo budas siuo atveju 
butu, nes visgi itariu kad sistema ateiti bus daugiakalbe, ar jau yra 
daugiakalbe, tiesiog rusiska teksta perkoduoti unicode ;)






"Tomis" <tomis.k@g.mail.com> wrote in message 
news:op.vw0iydiexe6kaj@tgerulskis.jurby.com...
> Sveiki,
>
> Susiduriau su tokia problema: ANSI C darau uzklausa i MSSQL kur laukelyje 
> COMMENTS yra rusiskas tekstas. Kaip atsakyma gaunu lotynisku raidziu 
> kratini vietoj rusisko teksto. Kaip teisingai paimt duomenis is mssql?
>
> Veiksmas ant WinCC. Ansi C apkarpyta. MS SQL Server 2005. Prie duombazes 
> kist nagu negaliu, tik nuskaityt. Win7, regional settingai: russian.
> SQL:
>     ...
>     sprintf(SQL, "SELECT PROCVARNAME,COMMENTS,VARNAME FROM PDE#TAGs");
>     ado_rs=ado_con->Execute(SQL);
>     while(!ado_rs->eof)
>     {
>          printf("Comments: %s\r\n",ado_rs->Fields(1)); //rusiskas tekstas 
> yra COMMENTS stulpelyje.
>     }
>
> -----
> Load: Connected
> SQL: SELECT PROCVARNAME,COMMENTS,VARNAME FROM PDE#TAGs...
> Comments: ?anoiaiia? FQIC0401
> Comments: Aao?ee_QICA0701
> Comments: ?anoiaiia? FQIC0101
> -------
>
> P.S. Gal per mazai info, bet nesugebejau aiskiai isdestyt visos situacijos 
> tai palikau tik esme. Jei reikes patikslinsiu.