|
Boost Users : |
Subject: Re: [Boost-users] Inconsistent unicode encoding between boost andwxonmac osx
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2010-02-14 02:54:42
Sachin Garg wrote:
>> I don't think that this has anything to do with normalization. By looking at
>> the source, Filesystem, by default, uses the global locale to convert betwen
>> narrow and wide paths, and the default locale in your case seems to perform
>> no conversion. That is, it just takes every 8 bit char and converts it to a
>> 32 bit wchar_t. This, of course, doesn't work when the source is UTF-8,
>> regardless of its normalization.
>
> It looks like you are correct, thanks :-)
>
> I added this to my code and it fixes the problem:
>
> std::locale global_loc = std::locale();
> boost::filesystem::detail::utf8_codecvt_facet utf8_facet(1);
> std::locale loc(global_loc, &utf8_facet);
> boost::filesystem::wpath_traits::imbue(loc);
>
> Taken from:
> http://archives.free.net.ph/message/20071110.132150.af9dc620.en.html
>
> And it seems this is an issue since atleast 2007,
Filing an issue on http://svn.boost.org generally increases the chances
that something will be fixed. Of course, please try to provide a detailed
description.
- Volodya
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net