zoukankan      html  css  js  c++  java
  • 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:fileName usedEncoding:useEncodeing error: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:body baseURL: nil];

                        }else {

                            NSString *urlString = [[NSBundle mainBundle]pathForAuxiliaryExecutable:fileName];

                            urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

                            NSURL *requestUrl = [NSURL URLWithString:urlString];

                            NSURLRequest *request = [NSURLRequestrequestWithURL:requestUrl];

                            [webView_file loadRequest:request];

                        }

  • 相关阅读:
    深入Java类加载全流程,值得你收藏
    如何用好Go的测试黑科技
    Go的内存对齐和指针运算详解和实践
    Go和Java的性能对比,真的如此吗?
    Go中锁的那些姿势,估计你不知道
    浅谈Go类型转换之间的那些事
    学堂在线课程字幕下载
    无序数组中求最大值和最小值的最少比较次数
    串口字符串-HEX格式
    个人程序命名规范
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/3521192.html
Copyright © 2011-2022 走看看