! property_tree는 기본적으로 한글 출력이 안됩니다. 읽는 거는 locale("kor") 옵션을 주고,
읽기가 가능하지만 쓰기에서는 locale("kor") 옵션을 준다고 해도 한글 출력이 안됩니다.
json_parser_write.hpp 파일 내부를 보면 그 이유를 알수 있습니다.
vi /usr/include/boost/property_tree/detail/json_parser_write.hpp
파일을 열어 아래 37번째줄을 추가해줍니다.
30 while (b != e)
31 {
32 // This assumes an ASCII superset. But so does everything in PTree.
33 // We escape everything outside ASCII, because this code can't
34 // handle high unicode characters.
35 if (*b == 0x20 || *b == 0x21 || (*b >= 0x23 && *b <= 0x2E) ||
36 (*b >= 0x30 && *b <= 0x5B) || (*b >= 0x5D && *b <= 0xFF)
37 || (*b >= -0x80 && *b < 0 )) //add utf-8 이부분 추가
38 result += *b;
수정하고나서
컴파일 후 실행해보면
잘 되는 것을 확인할 수 있습니다!!
'개발 저장소 > C언어' 카테고리의 다른 글
최호성의 C 프로그래밍》 PDF입니다 (306) | 2016.02.16 |
---|
댓글