네트워크 통신하다 보면 서버 시스템이 UTF-8로 데이터를 넘기지 않는 경우가 있다.


서버에서 EUC-KR로 데이터를 넘겨주면 이를 그냥 NSString으로 넘기면 글씨가 깨지기 마련이다.


다음과 같이 인코딩을 지정하여 const char 로 변환 후 NSString으로 데이터를 생성하면 정상적으로 텍스트를 읽을 수 있다.



NSUInteger encoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingEUC_KR);

const char * eucKRString = [original cStringUsingEncoding:encoding];

NSString *encodedString = [NSString stringWithUTF8String:eucKRString];



혹은 다음과 같이 사용해도 된다. 

NSUInteger encoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingEUC_KR);

NSString * encodedString = [NSString stringWithCString:[data bytes] encoding:encoding];



출처 - http://stackoverflow.com/questions/13883638/how-to-encode-nsstring-to-euc-kr

+ Recent posts