2011-08-28 4 views
2

나는 æ, ø, å와 같은 배열에 스칸디나비아 알파벳이 있습니다. NSLog를 사용하면이 알파벳이 스크램블 코드로 표시됩니다. NSArray를 UTF8로 인코딩하는 방법은 무엇입니까? 어떤 도움을 주셔서 감사합니다. objective-c NSArray를 UTF8로 인코딩하는 방법은 무엇입니까?

는 난 단지 시도 :

NSArray *nnoWords = [[NSArray arrayWithArray:newNoWords] retain]; 
NSLog (@"nnoWords: %@ ", nnoWords); 

newNoWords가있는 NSMutableArray이다. nnoWords는 NSString hello, pear, apple 등과 같은 txt 파일에서 가져온 일반 객체를 포함합니다.


편집 2011년 8월 29일 :

nnoWords이에서 온다, NSMutable로 변환 한 후 다시있는 NSArray에 따라서 nnoWords을했다. 그리고 words.txt는 UTF8로 인코딩됩니다.

NSString *norsk = @"æ ø å"; 
    NSLog (@"%@", norsk); 

그리고 출력은 올바른 :

 NSArray *noWords = [[NSArray alloc] initWithArray: 
     [[NSString stringWithContentsOfFile:[[NSBundle mainBundle] 
    pathForResource:@"words" ofType:@"txt"]           
encoding:NSUTF8StringEncoding error:NULL] componentsSeparatedByString:@"\n"]]; 

나는 또한 시도

2011-08-29 13:15:23.302 scanner2[29776:207] æ ø å 
+0

당신은 무엇을 시도 했습니까? – vikingosegundo

+0

배열에있는 객체의 유형은 무엇입니까? –

+0

@vikingosegundo 추가 정보가 추가되었습니다. – wagashi

답변

2

문제는 Xcode 콘솔입니다. Terminal.app의 출력을 보면 예상대로 표시됩니다.

테스트 케이스 :

//clang -framework Foundation -o log_utf8 log_utf8.m 
#import <Foundation/Foundation.h> 

int 
main(void) 
{ 
    NSString *word = @"en ord på Svenska"; 
    NSLog(@"%@", word); 
} 

샘플 출력 : 당신이 아닌 다른에서 출력을 볼 때 여전히 횡설수설가 표시되는 경우

StackOverflow$ clang -framework Foundation log_utf8.m -o log_utf8 
StackOverflow$ ./log_utf8 
2011-08-28 20:10:09.268 log_utf8[65105:707] en ord på Svenska 

엑스 코드의 의심에 내장 된 콘솔, 당신은 필요 문자열 데이터를 가져 오는 방법을 확인하십시오.

  • ASCII 문자가 아닌 텍스트 인 ente 당신의 응용 프로그램?
  • NSString이 텍스트가 있다고 생각하는 인코딩은 무엇입니까?
  • 실제로 인코딩은 무엇입니까? 파일에서 텍스트를 가져온 경우 file 명령을 사용하면 답변을 얻을 수 있습니다.
+0

당신 말이 맞아요. nsarray noWords를 txtfile에 썼을 때, 횡설수설이 없으므로이 문제는 Xcode의 내장 콘솔에 있습니다. 하지만 어떻게 해결할 수 있을까요? – wagashi

+0

그렇지 않습니다. 애플은 그렇다. 레이더 파일. 텍스트 레이블이나 필드에 표시된 텍스트 나 파일에 실제로 쓰이는 텍스트에는 영향을 미치지 않으므로 단지 개발에 불편 함이 있습니다. –

0

이 시도 : NSLog incorrect encoding

:이 질문에서

NSLog(@"%S", [[theArray description] cStringUsingEncoding:NSUTF16LittleEndianStringEncoding]); 

+0

아직도 도움이되지 않습니다. 출력은 이전과 같습니다. "på 등"이어야하지만 "\"\ p \ U00e5 ""로 표시됩니다. – wagashi

관련 문제