|
Boost Users : |
Subject: Re: [Boost-users] Inconsistent unicode encoding between boost andwxonmac osx
From: Sachin Garg (schngrg_at_[hidden])
Date: 2010-02-14 03:09:31
On Sun, Feb 14, 2010 at 1:24 PM, Vladimir Prus
<vladimir_at_[hidden]> wrote:
> 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.
I have filed a bug, please add any information if my description isn't
complete enough.
https://svn.boost.org/trac/boost/ticket/3928
SG
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