gtk에서의 한글 출력

jsn1223의 이미지

han은 unsigned short형의 한글 유니코드입니다.

char buf[2];
buf[0] = (unsigned char)(han & 0xFF);
buf[1] = (unsigned char (han>>8);
g_print("%s", buf);

이런 형식으로 출력했을 경우 아래와 같은 오류가 나면서 한글이 출력되질 않습니다.
[Invalid UTF-8] t\xc7\x05 등등...

무슨 원인일가요?
한글의 유니코드와 완성형의 세팅 관련 문제일거 같은데...

keizie의 이미지

인코딩되지 않은 값을 출력하려고 하니 에러가 나는 겁니다. g_unichar_to_utf8() 정도에 넘기면 될 것 같습니다.

U+C705면 '윅'인가요? 파이썬 콘솔에서 '윅'을 입력하면 '\xec\x9c\x85'라고 나옵니다. 한글 영역을 UTF-8로 인코딩하면 보통 e로 시작한다고 하더군요.

바라미의 이미지