2012-10-24 9 views
0

UTF8 문자를 문자열에 저장하고 레이블에 인쇄하려고합니다. Objective-C의 UTF8 문자 변환 문자열

잘 작동 나는 하드 코딩 경우

:

NSString *param = @"\uf02e"; 
NSLog(param); 

결과 : 내가 돌아갈 수있는 문자열로 문자를 저장하고있어 경우에 그런데

2012-10-24 16:09:56.522 i[22996:12c03]  

.

NSString *myString = [NSString stringWithFormat:@"%@",[item objectForKey:content]]; 
NSLog(myString); 

결과 :

2012-10-24 16:18:47.289 i[23105:12c03] \uf02e 

이에 대한 모든 솔루션? 감사.

EDIT

항목은 NSDictionary에 있고 [아이템 objectForKey : 내용] 문자열이다.

enter image description here 나를 위해

+0

[item] 배열은 어떻게 채우시겠습니까? –

+0

항목은 plist 파일의 개체로 채워진 NSDictionary입니다. –

+0

따라서 plist 문자열에서 실제로 "\ uf02e"문자열이며 해당 유니 코드 문자가 아닙니다. 수정 자 \ u는 내부의 문자열 안쪽에서 작동하지 않습니다. –

답변

1
NSString *param = @"\uf02e"; 
    NSDictionary* item = [NSDictionary dictionaryWithObject: param forKey: @"key"]; 
    NSString *myString = [NSString stringWithFormat:@"%@",[item objectForKey: @"key"]]; 
    NSLog(myString); 

작품 잘. 그래서 오류는 사전에 삽입하는 값에 있습니다.

+0

이미지가 첨부되었습니다. 값은 plist 파일에 String으로 올바르게 저장됩니다. 솔루션은 작동하지만 내 코드는 작동하지 않습니다. –

+0

어떻게 plist에서로드합니까? – Max

+0

+1 @CarloS 사전에 저장 한 값은 문자열 "\ uf02e"(즉, 컴파일러에 제공 할 이스케이프 시퀀스)와 같습니다. 이것은 컴파일러가 이스케이프 문자를 이런 식으로 해석하지 않으므로 문자열이로드 될 때 작동하지 않습니다. 실제로 컴파일러는 문자열을 전혀 볼 수 없습니다. – trojanfoe