<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif"> <div class="gmail_default" style="font-family:verdana,sans-serif">I'm trying to sidestep some issues with unicode filenames on Windows (MSYS64) using Boost.Nowide. Specifically, my program operates in UTF-8, and providing that to std/Boost functions yields incorrect filenames due to them being interpreted as UTF-16 (or something along those lines).<br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">However, the primary functions I have issues with are from Boost.PropertyTree. Specifically, read_json and write_json. These functions don't seem to be Nowide-friendly.<br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I tried just calling boost::nowide::nowide_filesystem() before my json calls, hoping it would work; it did not, I got the same mangled filenames. My next thought was to see if a nowide stream could be substituted into the stream-taking variants of read_json/write_json; it cannot be, they aren't compatible.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">The only option that seems to leave is something along these lines: <a href="https://stackoverflow.com/a/21537818" target="_blank">https://stackoverflow.com/a/21537818</a>, but using Nowide to read in the file. That adds a lot of steps (and possibly memory usage). It feels like I'm missing something.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Any suggestions would be appreciated. Thanks in advance.</div> </div><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font size="1"><span style="font-family:trebuchet ms,sans-serif"><br>:-:-:-</span></font><span style="color:rgb(68,68,68)"><font size="1"><span style="font-family:trebuchet ms,sans-serif">:-:-:-</span></font></span><span style="color:rgb(102,102,102)"><font size="1"><span style="font-family:trebuchet ms,sans-serif">:-:-:-</span></font></span><span style="color:rgb(153,153,153)"><font size="1"><span style="font-family:trebuchet ms,sans-serif">:-:-:-</span></font></span><span style="color:rgb(204,204,204)"><font size="1"><span style="font-family:trebuchet ms,sans-serif">:-:-:-</span></font></span><span style="color:rgb(238,238,238)"><font size="1"><span style="font-family:trebuchet ms,sans-serif">:-:-:-</span></font></span><span style="color:rgb(243,243,243)"><font size="1"><span style="font-family:trebuchet ms,sans-serif">:-:-:-</span></font></span><br><span style="font-family:verdana,sans-serif"><b>William E. Kappler II</b><br>Software Designer and Programmer</span><span style="font-family:verdana,sans-serif"><br></span></div><div dir="ltr"><span style="font-family:verdana,sans-serif"><a href="http://william-kappler.com" target="_blank">william-kappler.com</a><br></span></div><div dir="ltr"><span style="font-family:verdana,sans-serif"></span><span><span style="font-family:verdana,sans-serif"><font size="1"> </font></span></span><span><span style="font-family:verdana,sans-serif"></span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>