2

I download an html page and I try to encode it from NSData to NSString with this:

    NSString *string = [[NSString alloc] initWithData:receivedData encoding:NSISOLatin1StringEncoding];

I found that it gives a text with strange chars. I found that the page is look ok in the browser in

WINDOWS-1255 ISO-8858-8

Does it exist an encoding in objective-c that support it ?

Oliver
  • 23,072
  • 33
  • 138
  • 230
YosiFZ
  • 7,792
  • 21
  • 114
  • 221

2 Answers2

5

NSString does not support Windows Hebrew character encoding.
CFString fortunately does support Windows Hebrew character encoding.

Use CFStringConvertEncodingToNSStringEncoding() to convert the CFStringEncoding to NSStringEncoding, for example:

  NSString *string = [[NSString alloc] initWithData:receivedData encoding:CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingWindowsHebrew)];
Anne
  • 26,765
  • 9
  • 65
  • 71
0

If Anne's answer doesnt work (although it probably will), try with NSWindowsCP1252StringEncoding which is equiv to WinLatin1:

NSString *string = [[NSString alloc] initWithData:receivedData encoding:NSWindowsCP1252StringEncoding];

According to the NSString Documentation:

NSWindowsCP1252StringEncoding

Microsoft Windows codepage 1252; equivalent to WinLatin1.

chown
  • 51,908
  • 16
  • 134
  • 170