전자 메일 클라이언트의 컨텍스트에서/다른 많은 문자 집합과 유니 코드로 변환해야합니다. 지금까지 윈도우와 리눅스에서 iconv를 사용하여 문자셋 간의 텍스트 변환을 수행했습니다. 그러나 맥에서 내가 시도한 첫 번째 변환은 cp932에서 utf-16까지 가비지 문자로 실패했습니다. 나는 주변에 google을 가지고 있었고 어떤 사람들은 setlocale을 사용하여 로케일을 처음 설정하는 것을 제안했었다. 그러나 그것은 사물에 영향을 미치지 않는 것처럼 보였다.MacOSX에서 charset 변환을 수행하는 데 사용할 수있는 API는 무엇입니까? (iconv 나를 위해 작동하지 않습니다)
아마도 mac에서 iconv를 사용해서는 안됩니다. charset 변환을위한 대체 API가 있습니까? 창에
setlocale(LC_ALL,"");
iconv_t Conv;
if ((Conv = libiconv_open("utf-16", "cp932")) >= 0)
{
// Convert
int s = libiconv(Conv, &InBuf, (size_t*)&InLen, &OutBuf, (size_t*)&OutLen);
libiconv_close(Conv);
}
같은 입력 텍스트가 잘 작동
, Mac에서 쓰레기를 준다 : 나는뿐만 아니라의 iconv 코드를 수정에 대한 제안에 열려있어은 ... 코드의 라인을 따라 기본적으로.
니스. 그 너머의 유일한 누락 된 링크는 CFStringConvertIANACharSetNameToEncoding을 제 위치에 놓기 때문에 Apple 고유의 인코딩 ID 대신 기존의 charset 이름을 사용할 수 있습니다. 좋아, 지금. – fret