本篇文章主要介绍了"使用TFHpple解析GB2312网页出现乱码的解决方法",主要涉及到方面的内容,对于IOS开发感兴趣的同学可以参考一下: 在解析html网页的过程中不免会遇到一些gb2312编码的网页,若是对这类网页进行类于utf-8的解析方法进行解析,最后content里的中文显示会出现乱码情况... 在解析html网页的过程中不免会遇到一些gb2312编码的网页,若是对这类网页进行类似于utf-8的解析方法进行解析,最后content里的中文显示会出现乱码情况,即使对字符串进行gb2312的再次解码也无济于事。 因此我们需要改变思路: 第一步,用bg2312的编码得到一个NSString的网页内容。 第二步,使用stringByReplacingOccurrencesOfString的方法,将网页中的”gb2312“替换成“utf-8”。 第三步,将替换后的NSString使用dataUsingEncoding的方法,转换成NSData给TFHpple使用。 现在的思路其实就是先将gb2312转换成utf-8然后再进行解析,接下来的工作相信大家都明白就不再次赘述。 示例代码如下: NSString *html = [NSString stringWithContentsOfURL:url encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000) error:nil]; NSString *newHTML = [html stringByReplacingOccurrencesOfString:@"gb2312" withString:@"utf-8"]; NSData *newData = [newHTML dataUsingEncoding:NSUTF8StringEncoding]; NSString *currectString = [[NSString alloc] initWithData:newData encoding:NSUTF8StringEncoding]; 以上就介绍了使用TFHpple解析GB2312网页出现乱码的解决方法,包括了方面的内容,希望对IOS开发有兴趣的朋友有所帮助。 本文网址链接:http://www./article/detail_127977.html
|
|