???.txt

Andras Tantos andras_tantos at yahoo.com
Sat May 21 00:12:25 CEST 2005


Hali!

> Na varj csak, az egesz raadasul full unicode rendszeren volt.
> FAT32, hosszu nevek, win XP alatt. Szo nincs kodlaprol. A progi megis
> panaszkodik ra... Nonszensz.

Na itt a tevedes. A rendszer nem volt full Unicode. Attol, mert a FS Unicode 
neveket tarol, es az OS kezeli oket, meg nem biztos, hogy a 'teljes 
rendszer' Unicode volt.

Valoszinuleg az tortent, hogy a program (Windows Commander?) a fajlnevet, 
amit Unicode-ban kapott, valahol, valami oknal fogva Multibyte-ra (ASCII + 
egyebek) konvertalta. Az erre valo API a WideCharToMultiByte nevre hallgat 
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/unicode_2bj9.asp). 
Ez az a fuggveny, ami kodlapot fog hasznalni, es az o visszateresi erteke 
lehet az, hogy a string nem abrazolhato a megadott kodlapon. Az, hogy a 
program ???-eket jelenitett meg fajlnev helyett is erre utal. Ha a 'teljes 
rendszerben' barki meghivja a fent emlitett fuggvenyt, ugy, hogy annak a 
kimenetet es a bemenetet egyenertekunek tekinti (azaz ugy veli, hogy a 
konverzio nem veszt informaciot), akkor a 'teljes rendszer' mar nem Unicode.

Osszefoglalva:
- Nem az OS a hibas
- Nem a FS a hibas
- Nem a Unicode a hibas
- Nem a konverzios fuggveny a hibas
- A program a hibas, aki a konverziot meghivta, es az eredmenyt vakon 
felhasznalta.

Remelem igy mar vilagosabb...

Udv,
Tantos Andras




More information about the Elektro mailing list