Date: Sun, 16 Jan 2005 18:25:52 -0800 From: David Yu <chiahsing@gmail.com> To: Christopher Vance <christopher@nu.org> Cc: freebsd-current@freebsd.org Subject: Re: NTFS unicode converting problem Message-ID: <ad2ada4b05011618258c80402@mail.gmail.com> In-Reply-To: <20050117020039.GB630@nu.org> References: <ad2ada4b05011613445601befe@mail.gmail.com> <20050117020039.GB630@nu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In my case, those Chinese filenames are still in UCS-2LE, and all characters are in plane 0. I tried to modify codes so that it can directly store the conversion result into the dirent structure, but the convchr() funtion failed everytime for Chinese character while there is no problem with Ascii characters. I thought converting from UCS-2 to UTF-8 should be very easy? On Mon, 17 Jan 2005 13:00:39 +1100, Christopher Vance <christopher@nu.org> wrote: > On Sun, Jan 16, 2005 at 01:44:04PM -0800, David Yu wrote: > >Hi, it seems that NTFS in FreeBSD uses a 16-bit long wchar to store > >filename. When I wanted to convert some Chinese filename into UTF-8, > >the conversion was failed because a single Chinese character needs 3 > >bytes in UTF-8. Is anyone already working on this problem? If not, I > >would like to do something about it. Any suggestions? > > From memory, old Windows used UCS-2, while newer Windows uses UTF-16. > Was the bad character in plane 0 or higher? > > -- > Christopher Vance >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ad2ada4b05011618258c80402>