wxWidgets을 사용해서 작은 프로그램을 하나 만들고 있는데 다음과 같은 메시지와함께 문자열이 제대로 출력되지 않았다.
wxString을 생성할 때 wxChar * 형태의 포인터를 그냥 넘겨준게 문제였다.
WARNING **: Invalid UTF8 string passed to pango_layout_set_text()
즉,
wxChar buf[256];
...... (buf 채우는 코드)
wxString foo = wxString(buf); // widget에 출력시 제대로 출력안됨!!
해결은
char buf[256];
...... (buf 채우는 코드)
wsString foo = wxString(buf, wxConvUTF8); // 제대로 출력됨.
이런 식으로 생성자에서 변환하면 해결된다.
refs : Unicode support in wxWidgets
happy hackin'