uiwebview 打开txt乱码

  • 情况
    在项目实施过程中,后台存储一份不带编码的ANSI格式txt。而使用uiwebview打开的时候,出现乱码。

  • 分析
    txt有带编码与不带编码两种。
    带编码的txt可以使用string的stringWithContentsOfFile读出。
    不带编码的txt可以尝试使用GBK和GB18030编码读出。

  • 实施
    GBK : 0x80000632 , GB18030 : 0x80000631
    NSURL *txtUrl = [[NSBundle mainBundle] URLForResource:@"test1" withExtension:@"txt"];
    NSString *body = [NSString stringWithContentsOfURL:txtUrl encoding:0x80000632 error:nil];
    if (!body) {
    body = [NSString stringWithContentsOfURL:txtUrl encoding:0x80000631 error:nil];
    }

      if (body) {
        [self.webview loadHTMLString:body baseURL:nil];
      }else{
        [self.webview loadRequest:[NSURLRequest requestWithURL:txtUrl]];
      }
    
  • 参考
    iOS中解码.txt文件在UIWebView出现中文乱码的问题

  • 后记
    采用以上实施方案,因为没有找到办法获取txt的编码格式及是否有编码格式。

你可能感兴趣的:(uiwebview 打开txt乱码)