2012-08-06 41 views
0

我试图从HTML页面解析“阿拉伯文本”到我的应用程序中的某个标签。我正在使用Ben Reeves的HTML Parser解析HTML文本到UILabel,文本完全不可读。编码问题

我已经成功解析了该行,但是该行完全无法读取。这样“ÙتدÙاتاÙÙاداÙÙU”

一些检查后一句话,我认为我的问题是在这4线之一。 (我写了他们下载网页内容)

NSString *googleString = @"http://x1q.com/alf_news_app.html"; 
NSURL *googleURL = [NSURL URLWithString:googleString]; 
NSError *errorss; 
NSString *googlePage = [NSString stringWithContentsOfURL:googleURL 
                encoding:NSASCIIStringEncoding 
                error:&errorss]; 

我明白UILabel表明到底是什么有没有变化。而且我有点必须解码一些东西才能得到可读的文本。虽然,我不知道如何。 您的帮助表示赞赏。

注:对象 -

+0

当我试图访问它那页被标记为敌对的,但尽管如此,有你'编码尝试了不同的值:' – 2012-08-06 03:25:13

+0

是我做到了。但它不解析任何东西。 – Sobiaholic 2012-08-06 03:26:37

回答

1

您正在下载使用UTF-8编码的页面不是很有经验,所以不是NSASCIIStringEncoding,使用NSUTF8StringEncoding

I.E.将最后一行更改为:

NSString *googlePage = [NSString stringWithContentsOfURL:googleURL 
               encoding:NSUTF8StringEncoding 
                error:&errorss]; 
+0

我其实使用NSUTF8StringEncoding但它不解析任何东西。 – Sobiaholic 2012-08-06 03:27:42

+0

当你说它不解析任何东西时,当你使用正确的编码时,你的字符串的结果是什么? – lnafziger 2012-08-06 03:28:26

+0

我只是尝试了确切的代码,并NSLog'd谷歌网页,它完美的作品,阿拉伯文字和所有。 – lnafziger 2012-08-06 03:32:10

0

我们对阿拉伯语有同样的问题。 的解决方案是使用NSUTF16StringEncoding代替NSUTF8StringEncoding