Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[12780] Re:UTF-8 인코딩 방법
김상구.패패루 [peperu] 5771 읽음    2009-07-16 11:03
TNT로 입력을 받으면 WideString으로 저장됩니다. 즉 '간자체'와는 전혀 상관 없이 유니코드로 저장되는거고, 인코딩 방식은 UTF-16입니다.
이를 UTF-8로 인코딩 하는 방법은 여러가지가 있으나...

1. 직접 구현.
사실 별로 어렵지 않습니다. 영문 위키피디아에서 UTF-8 설명한 부분을 조금만 읽어보시면 쉽게 이해됩니다.
2. VCL의 함수를 이용
저는 C++ Builder만 사용하므로 C++ 문법으로 설명합니다.
UTF8String MyUTF8 = UTF8Encode(TntEdit1->Text);
3. Windows API 이용
WideCharToMultiByte(CP_UTF8 ..... ); 함수를 이용하시면 됩니다.

디코딩 역시 비슷합니다.
VCL의 경우 UTF8Decode 함수를 쓰시면 되고 API는 MultiByteToWideChar 함수를 사용하세요.


박준철 님이 쓰신 글 :
: (1) Tnt 콘트롤 이용 중국어 간자체 입력 받고
:       DB에 저장 하는데 간자체가 저장이 안되고 깨짐
:
: (2) (1) 번 내용을 해보려고 검색을 하다 보니
:      DB에 저장할 땐 UTF-8로 인코딩 해야하고
:      읽어오실땐 디코딩 해야 한다는 내용을 봤는데요
:     
: 질문 :
:     1 간자체로 입력 받은것을 UTF-8 인코딩 하는 방법
:     2 UTF-8 로 DB에 저장된 데이타  디코딩 하는 방법
:
: 너무 초보적인 질문이라 넘어가지 마시고
: 제발 부탁좀 드리겠습니다.

+ -

관련 글 리스트
12769 UTF-8 인코딩 방법 박준철 2499 2009/07/15
12780     Re:UTF-8 인코딩 방법 김상구.패패루 5771 2009/07/16
12775     Re:UTF-8 인코딩 방법 civilian 3340 2009/07/15
12771     Re:UTF-8 인코딩 방법 江湖之人 2240 2009/07/15
12772         Re:Re:UTF-8 인코딩 방법(추가질문) 박준철 2205 2009/07/15
12774                 UTF-8 인코딩 방법(추가)(추가) 박준철 2331 2009/07/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.