메뉴 건너뛰기

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

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

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

 

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

 

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

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

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

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

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

 

요약하자면,

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

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

 

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

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

 

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

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

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

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

조회 수 :
3757
등록일 :
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
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
25 lua와 C의 연동에서 상수(define이나 enum) 값처리 똥똥배 3448   2011-05-25 2011-05-25 23:34
이 문제의 해결에 4가지 방법이 나왔다. 물론 환경이나 상황에 따라 더 많은 해결방법이 나올 수 있고, 어떤 것이 답인지는 그때 그때 마다 다른다. 일단 상황부터 정리. 스프라이터를 처리하는 툴에서는 스프라이터 애니메이션을 숫자가 아닌 특정 코멘트를 ...  
24 문D라이브로 더블드래곤을 만들자(7) file 똥똥배 3480   2008-04-27 2008-04-28 04:22
 
23 C++ 질문 2 [3] A.미스릴 3565   2008-12-22 2008-12-23 18:47
바이너리(2진수) 저장 아시죠? 그런데 포인터 변수를 만들어서 동적 할당을 했을때 그 포인터 변수도 포함되어 저장되면 정상적으로 저장이 안 되는 건가요? 왜 그러냐면 제가 저장 방식을 모든 데이터를 하나의 클래스 속에 넣어서 그 1개의 클래스 인스턴스...  
22 문D라이브로 더블드래곤을 만들자(2) [6] file 똥똥배 3611   2008-04-18 2013-11-23 08:43
 
21 COgg 질문 [3] A.미스릴 3710   2008-06-29 2013-11-23 08:43
밑에 대슬님 질문 보니까 멤버변수를 등록할때 동적할당을 하는게 씌여 있는데 그냥 Cogg m_ogg_oggplayer; 이런식으로 그냥 일반변수로 등록을 하고 사용할순 없나요? 동적할당을 굳이 써야하는지 ㅡ.ㅡ;; (개인적으로 4바이트 추가와 잘못되면 메모리 누수가...  
20 문D라이브 2008년 5월 19일 버전 [2] 혼돈 3747   2008-06-02 2015-12-09 08:06
휴가루 웍휴2를 개발하면서 조금씩 수정 중이지만, 미스릴님의 요청이 있어서 올립니다. 대화창에 관련되서 완성되었다는 것과 흥크립트 부분이 많이 변했다는 것이 주요 변경점입니다. 대화창의 경우 기본은 대화창이 없는 상태로 MakeDlgBox를 사용하면 크기...  
» TinyXML의 한계 [2] 똥똥배 3757   2011-12-11 2013-11-23 06:30
내가 TinyXML을 쓴 것은 이름 그대로 tiny하기 때문이었다. 쓸데없는 기능없이 담백하게 읽고 쓰고 땡. 하지만 써 본 사람들은 잘 알겠지만 유니코드를 지원하지 않는다. 일단 유니코드를 지원하지 않더라도 유니코드(UTF-8)로 된 문서를 읽을 수는 있다. 한글...  
18 C++ 질문 [1] A.미스릴 3818   2008-12-21 2008-12-21 19:24
str_list1[loop_v]가 존재하면 true, 안 존재하면 false 이런 감별이 필요한데 CString str_list1[] = {"","","웹디자인","3D그래픽스"}; int loop_v = 0; while(str_list1[loop_v]) { this->m_ctrl_combobox1.AddString(str_list1[loop_v]); this->m_ctrl_lis...  
17 흥크립트에 궁금한점 [4] 상상악수 3835   2008-08-21 2008-08-27 04:13
tile1에서 앞쪽에 18칸말고는 사용할수없는 칸인가요? 그림을 그리면 맵에디터에서는 잘나오는데 게임에서는 까만색에 움직일수없는..  
16 문D 질문 [5] A.미스릴 3847   2008-05-26 2008-06-12 18:55
1.글자, 문장을 화면상에 출력하는 방법 2.숫자를 스트링으로 형변환할떄 아스키 코드가 아니라 숫자가 옮겨가게 하는법 3.사각형, 원 등을 출력하는 방법(Rectangle 함수같은거 없나여)  
15 srand에 관해서 [4] A.미스릴 3868   2008-07-15 2008-07-18 05:49
제가 알고 있는 난수의 사용방법은 srand( (unsigned int) time( NULL ) ); 로 srand를 지정하고 rand()를 해서 랜덤난수를 가져오는 것인데 함수값이 어쩌고 하는 원리더군요 그런데 원리를 생각해 보니 이게 정말 난수의 역할을 해낼수 있을까요?ㅡ,.ㅡ; 애...  
14 클레스들을 담은 헤더들의 혼란 [4] A.미스릴 3892   2008-06-21 2013-11-23 08:43
xxx.h파일 //xxx.h class xxx { ... 어떤 멤버함수 (yyy 뭐시기); ... } yyy.h파일 //yyy.h class yyy { ... 어떤 멤버함수 (xxx 뭐시기); ... } 이 두 클래스의 헤더 파일이 있으면 #include "xxx.h"와 #include "yyy.h"를 어떤 순서로 배치해야 할지 혼란스...  
13 #define에 대해 [1] A.미스릴 4061   2008-05-19 2008-05-19 18:57
#define을 너무 많이 쓰면 코드에 불안정화가 온다는데 사실인가여? 그러면 불안정화를 막으러면 어떻게 해야하나여 아니면 enum이나 const를 써야 하나...  
12 문D라이브로 더블드래곤을 만들자(10) file 똥똥배 4065   2008-05-17 2008-05-17 03:07
 
11 문D라이브도 더블버퍼링이 필요한가요? [3] A.미스릴 4223   2008-06-28 2008-06-29 07:06
보니까 backbuffer에 그림을 붙이던데 backbuffer가 배경 버퍼니까 바로 화면에 출력되는건가요? 그런데 그걸 직접 쓰면 MFC의 DC처럼 깜박임과 속도저하가 오는건 아니죠?ㅡ,.ㅡ; 추가로 LoadPicture로 불러온 그림을 다시 안불러온것처럼 되돌리는건 없나요?  
10 씨언어 질문 (내일 시험 ㄷㄷ) [1] 쿠로쇼우 4332   2008-06-17 2008-06-17 22:10
1 121 12321 1234321 123454321 부탁 ㄷㄷ  
9 문D라이브로 더블드래곤을 만들자(1) [2] file 똥똥배 4479   2008-04-16 2008-04-17 08:29
 
8 문D라이브로 더블드래곤을 만들자(11) file 똥똥배 4647   2008-05-17 2008-05-17 20:24
 
7 임의의 점이 다각형 내부에 있는지 검사하는 함수 똥똥배 5358   2008-04-14 2008-04-14 02:21
수학도 기하학도 허접한 제가 짠 거라서 허접하지만 넓은 아량으로 봐 주십시오. struct Point { double x; double y; }; bool LineIn(Point p1, Point p2, Point p3) { double top, bottom; //위 아래 범위 결정 if(p1.y < p2.y) { top = p1.y; bottom = p2.y...  
6 문D라이브로 만드는 더블드래곤.. 질문입니다 [4] 하와이안 5550   2009-01-15 2009-01-21 00:16
예전 다른 프로그래밍 언어는 조금 써본 적 있는데 C++은 거의 없어서 헤매고 있습니다. 문D라이브 더블드래곤 강좌에 나온 데로 VC++ 2005 express edition으로 깔고 링크되어 있는 directx sdk 깔고 VC디렉토리에 SDK 링크도 추가해서 moondlib 실행하고 빌...