UIWebView加载本地网页乱码

转载 2016年08月30日 15:37:30

webview打开网页很容易,只有三个方法:

- (void)loadRequest:(NSURLRequest *)request;
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;


数第一个最容易,只需要一个nsurl地址。什么都不需要你设置。一般万维网的网页都正常,但是我在打开自己的部分网络上的网页还是有乱码。这里没有其它设置,乱码问题除非把网页改成utf-8,不然就需要用到另外两个方法来加载。(设置方法:

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>


我尝试的第三中方法成功的,

首先把数据写到nsdata中

NSData *data = [NSData dataWithContentsOfFile:m_strUrl];


然后设置baseUrl  

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDir = [paths objectAtIndex:0] ;   //根据自己的具体情况设置,我的html文件在document目录,链接也是在这个目录上开始
        NSURL *baseUrl = [NSURL fileURLWithPath:documentsDir];


为什么需要设置baseUrl?

也就是data中有一些链接是图片,css都是外部文件,然后这些文件需要到一个目录上去找。baseUrl就是这个目录。


最后,使用loadData方法对文件进行加载,并且指定类型(mimetype)和编码类型(textEncodingName)

[self.m_myWebView loadData:data MIMEType:@"text/html" textEncodingName:@"GBK" baseURL:baseUrl];



效果如下图,


本地的gbk文件带图片都能够很好的读取出来。


本文转自:http://blog.csdn.net/yaoliang11/article/details/6701080

iOS webview 加载html 乱码 需要UTF8转码

之前是: [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@“https://XXX...
  • gaomingyangc
  • gaomingyangc
  • 2016年07月04日 14:34
  • 3090

用 UIWebView 显示中文文本文件的若干问题

UIWebView 支持文本文件的显示,你可以使用以下代码加载文本文件:NSString* path=[[NSBundlemainBundle]pathForResource:@"48_1"ofTyp...
  • kmyhy
  • kmyhy
  • 2013年10月04日 12:47
  • 5273

解决WebView加载本地文件乱码

??????????????????????????????????????? ????????WebView??????????????????????????webView ??????loadU...
  • zhangke3016
  • zhangke3016
  • 2016年07月14日 13:29
  • 8656

UIWebView的基本使用

1.创建UIWebVIew UIWebView *webView = [[UIWebView alloc]initWithFrame:self.view.bounds]; [self....
  • daiyelang
  • daiyelang
  • 2014年11月10日 22:22
  • 8758

彻底解决WebView加载html乱码问题

1.webView.loadData乱码参看"webView.loadData中文乱码问题“ 2.webview.loadUrl("http://www.xxx.com")和WebView.load...
  • u013042707
  • u013042707
  • 2014年12月31日 10:58
  • 4521

用 UIWebView 显示中文文本文件的若干问题

UIWebView 支持文本文件的显示,你可以使用以下代码加载文本文件:NSString* path=[[NSBundlemainBundle]pathForResource:@"48_1"ofTyp...
  • kmyhy
  • kmyhy
  • 2013年10月04日 12:47
  • 5273

UIWebView加载本地HTML5文件

UIWebView加载本地HTML5文件 一.准备HTML文件及其资源文件 使用UIWebView加载本地的HTML文件 index.html,在index.html中引用了本地的图片...
  • Kaitiren
  • Kaitiren
  • 2013年12月04日 11:16
  • 73271

ios UIWebView 加载网页、文件、 html

UIWebView  是用来加载加载网页数据。
  • codywangziham01
  • codywangziham01
  • 2014年07月10日 16:45
  • 70219

UIWebView加载本地HTML文件

UIWebView加载本地HTML文件 UIWebView iOS 写在前面 转载至:http://zhangbuhuai.com/uiwebview-lo...
  • YLGWHYH
  • YLGWHYH
  • 2016年07月19日 18:29
  • 4323

UIWebView获得网页内容(HTML源码)、加载本地HTML文件

获取网页内容在使用UIWebView加载一个网页的时候,有时候需要获得此页面的源码,可以使用UIWebView执行JS代码来获得://加载网址 let req = NSMutableURLReques...
  • zyb050607
  • zyb050607
  • 2016年07月05日 10:28
  • 1682
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UIWebView加载本地网页乱码
举报原因:
原因补充:

(最多只允许输入30个字)