UIWebview打开.txt文件中文乱码解决

用UIWebview打开txt文件有时候会出现乱码的情况,这种情况应该是txt的编码问题,解决方案如下:

txt分带编码和不带编码两种,带编码的如UTF-8格式txt,不带编码的如ANSI格式txt。带编码的用NSString的stringWithContentsOfFile可读出,不带的,我们依次尝试GBK和GB18030编码。

源码如下:

                ///编码可以解决.txt 中文显示乱码问题

                 NSStringEncoding *useEncodeing =nil;

                 //带编码头的如utf-8等,这里会识别出来

                 NSString*body = [NSString stringWithContentsOfFile:fileNameusedEncoding:useEncodeingerror:nil];

                 //识别不到,按GBK编码再解码一次.这里不能先按GB18030解码,否则会出现整个文档无换行bug

                 if (!body){

                     body =[NSString stringWithContentsOfFile:fileNameencoding:0x80000632 error:nil];

                 }

                 //还是识别不到,按GB18030编码再解码一次.

                 if (!body){

                     body =[NSString stringWithContentsOfFile:fileNameencoding:0x80000631 error:nil];

                 }

                 

                 //展现

                 if (body){

                   [webView_file loadHTMLString:bodybaseURL: nil];

                 }else {

                   NSString *urlString =[[NSBundlemainBundle]pathForAuxiliaryExecutable:fileName];

                    urlString = [urlStringstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

                    NSURL *requestUrl =[NSURL URLWithString:urlString];

                    NSURLRequest *request =[NSURLRequest requestWithURL:requestUrl];

                    [webView_file loadRequest:request];

 

                 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值