On 2016/03/23 04:35 PM, Fat-Zer wrote:
2016-03-23 9:20 GMT+03:00 Michele Calgaro michele.calgaro@yahoo.it:
On 2016/03/23 02:51 PM, Fat-Zer wrote: Uhm, makes sense, good point. Interestingly my disagreement with you came from the other way around: what if the filesystem is using a 16bit or 32bit encoding? How would TQString::fromLocal8Bit() interpret that? Anyhow it was just my 2 cents :-) Cheers Michele
Firstly, TQString::fromLocal8Bit() has const char * argument, but neither utf16 nor utf32 may be stored inside a plain char* array, so it's not an issue (unless we are on some very strange platform with a 16 or 18 bit chars)... For Utf16 there is fromUcs2(), but on system interaction level it's useful only for non-*nix'es... In the unix world all API calls use char* and as a consequence no native unix filesystem uses long-Char encoding. AFAIK the only one semi-supported filesystem in linux that uses utf16 is ntfs, and symbols are converted by the kernel (or ntfs-3g) to the desired encoding (see "nls" and "utf8" mount options for kernel module and "locale" for ntfs-3g).
PS: Sorry to everybody if we are making too much noise on the mail list...
Thanks for the detailed explanation Alex, always good to learn some more bits of information, since you are quite obviously more knowledgeable than me on this matter ;-) Cheers Michele