Game Dev/Work Log

UTF-8 파일 만들기

AKer 2014. 11. 5. 09:31
반응형

rapidjson으로 File Serializing을 하다가 일부 경우에 파일이 깨지는 문제가 있었다. 원인은 Ascii 파일에 대해 여러 Encoding으로 내용을 쓰다보니 생긴 문제였다.


  1. "A.txt" 파일에 Ascii 문자로만 내용을 씀 (BOM 없음)
  2. 다시 "A.txt" 파일에 WideChar 내용을 씀 
  3. 2에서 쓴 글자가 깨짐

rapidjson에서는 파일을 저장할 때 FileStream을 쓰는데 FileStream의 생성인자로 FILE*를 넘겨줘야 한다. 이 FILE*를 강제로 UTF-8 BOM을 추가해서 열어주면 될 것 같아서 검색을 해보니, fopen에 "css" 인자를 넣어줄 수 있다고 하더라... 

fopen(&fp, "newfile.txt", "w, ccs= encoding "); // 단 새로운 파일을 만들 때나 BOM이 없었을 때만 동작

출처 : http://msdn.microsoft.com/en-us/library/yeby3zcb.aspx



반응형

'Game Dev > Work Log' 카테고리의 다른 글

This project is out of date  (0) 2016.04.27
VisualAssist의 대안?  (0) 2016.04.26
VS2013에서 .props 파일을 이용해서 프로젝트 관리하기  (0) 2014.08.22
Gwen Library 설치  (0) 2012.12.08