2014-07-11 2 views
0

json이 내 html 파일에 저장되어 있습니다. html 파일의 내용을 읽으려고하지만 내용이 공백으로 표시됩니다. 이 내 코드입니다 :ios의 서버에서 html 파일의 내용을 읽는 방법

NSString* urlString = @"http://www.test.com/test.html"; 

    NSURL* myURL = 
     [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding: 
              NSUTF8StringEncoding]]; 
    NSString* string = [NSString stringWithContentsOfURL:myURL 
               encoding:NSUTF8StringEncoding 
               error:nil]; 

//the json located at html file is 
{"ver":"4","release":"0","opt":"4"} 

하지만 내 문자열이 전무를 반환합니다. 유효한 UTF8 데이터가있는 경우 감사

+2

콘텐츠 인코딩이 UTF8이 아닌 것으로 가정합니다. NSASCIIStringEncoding으로 시도하십시오. 의견에 대한 제 제안을 이동합니다. Neeku의 답변보기 –

답변

0

확인은 다음과 같이 뭔가를 사용하여 볼 수 있습니다 :

NSStringEncoding encoding; 
    NSString *receivedData = [NSString stringWithContentsOfURL:url usedEncoding:&encoding error:NULL]; 
    NSLog(@"Encoding %d",encoding); 

이 가능한 인코딩 있습니다

enum { 
    NSASCIIStringEncoding = 1,  /* 0..127 only */ 
    NSNEXTSTEPStringEncoding = 2, 
    NSJapaneseEUCStringEncoding = 3, 
    NSUTF8StringEncoding = 4,  //**THIS IS FOR UTF8.** 
    NSISOLatin1StringEncoding = 5, 
    NSSymbolStringEncoding = 6, 
    NSNonLossyASCIIStringEncoding = 7, 
    NSShiftJISStringEncoding = 8,   /* kCFStringEncodingDOSJapanese */ 
    NSISOLatin2StringEncoding = 9, 
    NSUnicodeStringEncoding = 10, 
    NSWindowsCP1251StringEncoding = 11, /* Cyrillic; same as AdobeStandardCyrillic */ 
    NSWindowsCP1252StringEncoding = 12, /* WinLatin1 */ 
    NSWindowsCP1253StringEncoding = 13, /* Greek */ 
    NSWindowsCP1254StringEncoding = 14, /* Turkish */ 
    NSWindowsCP1250StringEncoding = 15, /* WinLatin2 */ 
    NSISO2022JPStringEncoding = 21,  /* ISO 2022 Japanese encoding for e-mail */ 
    NSMacOSRomanStringEncoding = 30, 

    NSUTF16StringEncoding = NSUnicodeStringEncoding,  /* An alias for NSUnicodeStringEncoding */ 

    NSUTF16BigEndianStringEncoding = 0x90000100,   /* NSUTF16StringEncoding encoding with explicit endianness specified */ 
    NSUTF16LittleEndianStringEncoding = 0x94000100,  /* NSUTF16StringEncoding encoding with explicit endianness specified */ 

    NSUTF32StringEncoding = 0x8c000100,     
    NSUTF32BigEndianStringEncoding = 0x98000100,   /* NSUTF32StringEncoding encoding with explicit endianness specified */ 
    NSUTF32LittleEndianStringEncoding = 0x9c000100  /* NSUTF32StringEncoding encoding with explicit endianness specified */ 
}; 
typedef NSUInteger NSStringEncoding; 
0

그냥 선 아래 수정 encoding to NSStringEncodingConversionAllowLossy

NSString* string = [NSString stringWithContentsOfURL:myURL 
               encoding:NSStringEncodingConversionAllowLossy 
               error:nil]; 
관련 문제