2013-02-19 5 views
0

일부 라틴 문자가 포함 된 XML 파일을 반환하는 ASP 요청을 사용하고 있습니다. 이 코드를 사용하여 는 :NSData/인코딩 문제 : 왜 모든 문자를 올바르게 읽지 않습니까?

NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://www.my-link.asp"]]; 
NSString *str = [[NSString alloc] initWithData:data encoding:NSISOLatin1StringEncoding]; 

나는 제대로 거의 파일의 모든 문자를 참조하십시오. 거의 그들 중 일부는이 char로 대체되기 때문에 : ¿. 저는 총알 (•, 8226)과 오른쪽 작은 인용 부호 (’, 8217)에 대해 이야기하고 있습니다. 그러나 나는 다른 특이한 문자들에 대해 몇 가지 문제를 겪을 것입니다.

XML 접두어는 <?xml version="1.0" encoding="ISO-8859-1"?>입니다. 내 XML 파일이나 내 코드에 문제가 있는지, 해결 방법은 궁금합니다.

+0

응답이 실제로 'ISO-8859-1'이고 확실한 XML 선언이 아니라고 확신합니까? – fguchelaar

+0

어떻게 확인할 수 있습니까? – Rob

+3

파일이 실제로'ISO-8859-1'에있는 경우'•'과'’'으로 인용되지 않는 한 글 머리 기호 나 오른쪽 작은 따옴표를 포함 할 수 없습니다. ISO-8859에 없기 때문에 -1 '. 그러나 나는 그들이 마이크로 소프트의 변형 인 'Windows-1252'에 존재한다고 생각한다. XML을 생성하는 코드가 XML, 또는 ISO-8859-1과 Windows-1252를 직렬화하는 데 적절한 방법을 사용하지 않았을 가능성이 큽니다. 문자열을 연결하거나 문자열을 연결하는 것일 수도 있습니다. 참조 http://stackoverflow.com/questions/3034611/whats-so-bad-about-building-xml-with-string-concatenation –

답변

0

ISO-8859-1 대신 UTF-8을 사용하면 해결됩니다.