2011년 9월 16일
서버에서 클라이언트로 문자열을 보내면 서버와 클라 간 문자 인코딩 방식이 달라서 문자가 깨지는 현상이 발생 했었다. 그래서 영어로만 사용하던 중 기획팀에서 한글로 띄워달라는 요청에 방법을 찾고 있었는데 서버에서 전체 공지를 할때 iconv를 사용한다는 것을 알게 되었다.
- #include <iconv.h>
먼저, iconv를 사용하기 위해서는 헤더파일을 참조 해야한다.
- iconv_t cd
iconv_t 타입의 변수가 필요하다.
src_code : 기존의 문자 인코딩 방식
des_code : 변환될 문자 인코딩 방식
src : 변환 해야 할 문자
des : 변환 후 담기게 될 변수
src_len : 변환해야 할 문자의 크기
des_len : 변환 후 담기게 될 변수의 크기
- cd = iconv_open( des_code, src_code );
- iconv( cd, &src, &src_len, &des, &des_len );
- 예제 소스
void ConvertChar( char* pMessage ) { if( !pMessage ) return; iconv_t cd = iconv_open( "UHC", "UTF-8" ); char szWMessage[255] = {0,}; char* pS = pMessage; char* pT = szWMessage; size_t nsLen = strlen( pS ); size_t nWLen = sizeof( szWMessage ); if( cd != (iconv_t)(-1) ) iconv( cd, &pS, &nsLen, &pT, &nwLen ); iconv_close( cd ); } |
'Programming > C++' 카테고리의 다른 글
[C++] 빌드 시간 구하기 (0) | 2012.09.26 |
---|---|
[C++] 브레이크 포인트 (0) | 2012.09.26 |
[C++] equal_rage by 용호 (0) | 2012.06.25 |
[C++] vector 간의 연산 (set_difference와 copy) By 용호 (0) | 2011.04.23 |
[C++] Vector Erase 문제 By 용호 (0) | 2011.03.25 |
댓글