UIWebView加载本地网页乱码
来源:互联网 发布:nw.js chrome 插件 编辑:程序博客网 时间:2024/05/23 18:34
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
- UIWebView加载本地网页乱码
- UIWebView之加载本地网页
- Swift - 网页控件(UIWebView)加载网页,本地数据,文件
- 使用UIWebView加载本地或远程服务器上的网页
- UIWebView加载本地或远程服务器上的网页--初识
- Swift - 网页控件(UIWebView)加载本地数据,文件
- UIWebView显示本地网页
- webview加载本地网页乱码问题
- UIWebView加载本地html
- UIWebView加载本地html
- UIWebView加载本地html
- UIWebView加载本地html
- UIWebView加载本地图片
- 使用UIWebView加载网页
- UIWebView 加载网页
- UIWebView加载https网页
- UIWebView加载网页
- iOS网页-加载网页(UIWebView)
- MongoDB数据库基本操作
- 倍数提高工作效率的Android Studio奇技
- pdf转jpg在线转换的方法分享
- Gradle学习目录总结,gradle目录总结
- 建议11: 区别对待==和Equals
- UIWebView加载本地网页乱码
- spring mvc配置上传文件的大小
- 开发计算机并行性的方法【理论】
- 内存堆和栈的区别
- 10天精通Sass 之 Sass的@规则
- IDEA 中的 Intention Actions(意图动作) 上
- JVM架构(015)_XmnXmsXmxXss有什么区别
- 编程马拉松17C
- 外观模式 Facade