Am Dienstag, 5. Dezember 2006 19:03 schrieb Enrico Forestieri: > I can only speak for Cygwin. I don't know for Windows in general, but > I think that it is also dependent on the filesystem (FAT32 or NTFS).
I had the hope that it was better as on linux, but if this is true it seems to be even worse :-( > As regards Cygwin, it does not use wide characters internally for > filenames/pathnames, nor does it support any locale other than C/POSIX. > However, this last one is only half-true, as Cygwin works with the > default codepage when the Windows locale settings are set correctly. > Locales cannot be programmatically switched from within Cygwin, but > it can handle the full 8-bit charset just fine. So that means if we convertz to the encoding of the currently set windows locale it will work? That would be doable. > However, I think that the way LyX deals with locales should be rethought, > maybe. I recently discovered that the EILSEQ errors I was seeing on > Solaris were due to my locale settings. If the LC_* variables are set > to xx_XX.ISO8859-1 then those errors are triggered. They disappear when > using xx_XX.UTF-8, though. Moreover, towupper and company doesn't seem > to work with ISO8859-1. For example, this is what I get when running > the attached test program: > > $ env LC_ALL=it_IT.ISO8859-1 ./test-wctype > towupper(0xe8) = 0xe8 > toupper(0xe8) = 0xc8 > > $ env LC_ALL=it_IT.UTF-8 ./test-wctype > towupper(0xe8) = 0xc8 > toupper(0xe8) = 0xc8 > > However, I don't know if this is a Solaris bug, though, as the test > program seems to work on Linux in both cases. towupper should completely ignore the encoding part of the LC_TYPE (or LC_ALL) setting. At least I understand it like that, and that is also assumed in our usage of towlower/towupper. Therefore I think this is a solaris bug, but if anybody finds evidence that my understanding of towlower/towupper is wrong we need to find a different solution indeed. Georg