일반적으로 윈도우에서 Qt를 사용할 때는 euc-kr이나 cp949 인코딩을 사용하게 되는데,
이 경우 QString::fromLocal8bit 등을 사용하여 간단히 해결할 수 있다.
다만 필자의 경우 윈도우에서 작업하고 리눅스에 포팅하는 경우이기 때문에 한글 깨짐을 신경쓸수밖에 없는데
그래서 Qt 에디터 디폴트를 UTF8로 바꿔버렸다.
이러면 QString::fromUTF8을 통해 정상적으로 한글이 출력이 돼야하는데
소스에 친 한글이 제대로 출력이 되지도 않고, 심지어 세글자 이상을 입력하는 경우 컴파일조차 되지 않았다.
심지어 한글 출력도 첫번째 문자만 깨져서 출력이 됐다.
인코딩은 이상이 없었고,
포럼을 찾아도 안나오는 문제였는데, 얼핏 지나가면서 본 컴파일러 글에 문득 생각이 들어 컴파일러를 바꿔줬더니 잘 된다.
문제는 MSVC 컴파일러였던것.
컴파일러를 MinGW로 바꾸니까 잘 된다.
MSVC 컴파일 인코딩이 System Default(CP949)가 아니었나 싶다.
이걸로 마소를 싫어하는 이유가 하나 더생겼다.
*참고로 컴파일러를 굳이 MinGW로 안바꾸고 VS의 컴파일 인코딩을 바꾸면 해결이 될거같긴 한데
필자는 귀찮아서 그냥 MinGW 썼다.