창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳
글 수 185
내가 TinyXML을 쓴 것은 이름 그대로 tiny하기 때문이었다.
쓸데없는 기능없이 담백하게 읽고 쓰고 땡.
하지만 써 본 사람들은 잘 알겠지만 유니코드를 지원하지 않는다.
일단 유니코드를 지원하지 않더라도 유니코드(UTF-8)로 된 문서를 읽을 수는 있다.
한글이든 일본어든 어차피 파일에는 코드값으로 저장되는 것이기 때문에
멀티바이트로 읽어왔더라도 인코딩을 한다면 정상적으로 문자열을 출력할 수 있다.
하지만, TinyXML 내부에서 엘리먼트를 찾을 때, 유니코드로 한글을 넣어주면 찾지 못한다.
즉, 컬럼명은 반드시 영어로 써야 한다.
요약하자면,
컬럼명이 영어로된 UTF-8형식의 XML이라면 TinyXML에서 읽을 수 있다.
읽을 수 있다... 즉, 쓸 수는 없다.
유니코드를 배제하고 그냥 한글이나 일본어를 쓴다면 euc-kr이나 SHIFT-JIS든 인코딩을 해서 문제없이 쓸 수 있다.
하지만 당연히 한국어, 일본어를 섞어서 쓸 순 없다. 인코딩 방식이 서로 다르기 때문.
굳이 억지로 유니코드를 무난하게 쓰고 싶다면,
TinyXML에서 저장한 파일을 UTF-8로 인코딩하는 부분을 제작,
그리고 컬럼명은 반드시 영어로 할 것! 을 지켜주면 되지만...
이런 제약을 받고 쓰느니 다른 XML 파서를 구해 보는 게 좋을 듯 하다.
아니, 잠깐. 컬럼명이 한글이라도 UTF-8로 된 한글을 euc-kr로 변환해서 읽어들인다면 불가능할 건 없을 듯?