iconv 에서요...
글쓴이: mips / 작성시간: 수, 2003/02/26 - 4:55오후
iconv를 이용해서 문자열 변환 프로그램을 만들고 있는데요,
이상하게 iconv가 안 먹히네요.
#include <stdio.h> #include <iconv.h> int main (int argc, char *argv[]) { iconv_t utf2euc; char inbuf[] = "\xea\xb0\x82"; unsigned char outbuf[10]; char *inptr, *outptr; int insize, outsize; utf2euc = iconv_open ("euc-kr", "utf8"); if ((int)utf2euc <= 0) { printf ("iconv_open failed!\n"); } else { int n, i; inptr = inbuf; outptr = outbuf; insize = 3; outsize = 10; n = iconv (utf2euc, (const char **)&inptr, &insize, &outptr, &outsize); if (n > 0) { printf ("0x"); for (i = 0; i < (10 - outsize); i++) printf ("%x", outbuf[i]); printf ("\n"); } } exit (0); }
Forums:
일단은 inbuf에 들어 있는 UTF-8 string이 제대로 되어있는지
일단은 inbuf에 들어 있는 UTF-8 string이 제대로 되어있는지 확인 해보시기 바랍니다.
참고로.. 다음은 "안녕" 이라는 문자열의 UTF-8 표현입니다.
{0xec, 0x95, 0x88, 0xeb,0x85, 0x95}
안되시면 이것으로라도 확인해보시길..
아시겠지만.. 그리고 iconv 함수의 return 값이 변환된 문자 갯수를 return 하는 것이 아니라는 것 염두에 두시고 코드를 수정해서 확인 해보세요.
---
http://coolengineer.com
댓글 달기