메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

내가 TinyXML을 쓴 것은 이름 그대로 tiny하기 때문이었다.

쓸데없는 기능없이 담백하게 읽고 쓰고 땡.

 

하지만 써 본 사람들은 잘 알겠지만 유니코드를 지원하지 않는다.

 

일단 유니코드를 지원하지 않더라도 유니코드(UTF-8)로 된 문서를 읽을 수는 있다.

한글이든 일본어든 어차피 파일에는 코드값으로 저장되는 것이기 때문에

멀티바이트로 읽어왔더라도 인코딩을 한다면 정상적으로 문자열을 출력할 수 있다.

하지만, TinyXML 내부에서 엘리먼트를 찾을 때, 유니코드로 한글을 넣어주면 찾지 못한다.

즉, 컬럼명은 반드시 영어로 써야 한다.

 

요약하자면,

컬럼명이 영어로된 UTF-8형식의 XML이라면 TinyXML에서 읽을 수 있다.

읽을 수 있다... 즉, 쓸 수는 없다.

 

유니코드를 배제하고 그냥 한글이나 일본어를 쓴다면 euc-kr이나 SHIFT-JIS든 인코딩을 해서 문제없이 쓸 수 있다.

하지만 당연히 한국어, 일본어를 섞어서 쓸 순 없다. 인코딩 방식이 서로 다르기 때문.

 

굳이 억지로 유니코드를 무난하게 쓰고 싶다면,

TinyXML에서 저장한 파일을 UTF-8로 인코딩하는 부분을 제작,

그리고 컬럼명은 반드시 영어로 할 것! 을 지켜주면 되지만...

이런 제약을 받고 쓰느니 다른 XML 파서를 구해 보는 게 좋을 듯 하다.

조회 수 :
3754
등록일 :
2011.12.11
18:59:56 (*.161.97.100)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=419422

똥똥배

2011.12.14
19:37:16
(*.161.97.100)

아니, 잠깐. 컬럼명이 한글이라도 UTF-8로 된 한글을 euc-kr로 변환해서 읽어들인다면 불가능할 건 없을 듯?

똥똥배

2011.12.15
04:08:48
(*.161.97.100)

어쨌든 성공했다. UTF-8든 ANSI든 다 읽고 쓸 수 있음.

귀찮게 인코딩, 디코딩 코드를 잔뜩 넣었지만 어쨌든 잘 돌아감.

결국 유니코드든 아스키코드든 코드의 배열에 지나지 않으므로 디코딩만 잘하면 되는 것이라는 것.

 

하지만... 유니코드가 그 귀찮은 변환을 하지 않고 여러 나라 문자를 동시에 쓰는 게 장점인데,

이래서는 그 장점이 의미가 없지.

List of Articles