id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 8632,incorrect write_json()\read_json() for not latin1 charset.,shirshov evgeny <381677383@…>,Sebastian Redl,"use MSVC compiler.[[BR]] {{{ property_tree::ptree pt_1; // use symbol > 127 property_tree::write_json(""file"", pt_1); property_tree::ptree pt_2; property_tree::read_json(""file"", pt_2); pt_1 != pt_2; !!!!! }}} for property_tree::wptree all correct. in msvc char = signed __int8.[[BR]] typedef basic_string, allocator > string;[[BR]] path: file boost\property_tree\detail\json_parser_write.hpp template std::basic_string create_escapes(const std::basic_string &s) {{{ typename std::basic_string::const_iterator e = s.end(); while (b != e) { + auto bb = static_cast::type>(*b); // This assumes an ASCII superset. But so does everything in PTree. // We escape everything outside ASCII, because this code can't // handle high unicode characters. - if (*b == 0x20 || *b == 0x21 || (*b >= 0x23 && *b <= 0x2E) || - (*b >= 0x30 && *b <= 0x5B) || (*b >= 0x5D && *b <= 0xFF)) + if (bb == 0x20 || bb == 0x21 || (bb >= 0x23 && bb <= 0x2E) || + (bb >= 0x30 && bb <= 0x5B) || (bb >= 0x5D && bb <= 0xFF)) }}}",Bugs,closed,To Be Determined,property_tree,Boost 1.53.0,Problem,duplicate,property_tree json_parser,