总结关于iPhone中UIWEBVIEW读取本地GBK编码格式html
来源:互联网 发布:全球云计算市场 编辑:程序博客网 时间:2024/04/27 18:50
关于webView读取本地GBK编码的html,尝试了两天,终于成功。
欢喜之余,把感想记下来。一般来说,不成都是人犯错,人犯错的原因一个是大意,一个是不知道。
初学者两者都有。不废话,开始写经历过程。
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,不然就需要用到另外两个方法来加载。
我尝试的第三中方法成功的,
首先把数据写到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文件带图片都能够很好的读取出来。
- 总结关于iPhone中UIWEBVIEW读取本地GBK编码格式html
- 总结关于iPhone中UIWEBVIEW读取本地GBK编码格式html
- iphone 项目中如何加载本地html文件到uiwebview
- iphone 项目中如何加载本地html文件到uiwebview
- swift:用UIWebView读取本地html文件
- Iphone UiWebView中HTML获取之Javascript
- java中GBK编码格式转成UTF8
- java中GBK编码格式转成UTF8
- UIWebView加载本地html
- UIWebView加载本地html
- UIWebView加载本地html
- UIWebView加载本地html
- 在iphone中UIWebView显示本地Word文档数据
- iphone中利用本地数据来代替远程UIWebView请求
- 关于HTML网页源码的字符编码(charset)格式(GB2312,GBK,UTF-8,ISO8859-1等)的解释
- 关于HTML网页源码的字符编码(charset)格式(GB2312,GBK,UTF-8,ISO8859-1等)的解释
- iPhone中获取UIWebView内的html方法
- 编码格式(关于utf-8,gb2312,gbk,big5等)
- 哈佛学生是如何度过大学4年的
- GOOGLE搜索技巧
- iPhone OS 开发-了解并解决代码签名问题
- CTreeCtrl点击改变Check状态
- rac中的job
- 总结关于iPhone中UIWEBVIEW读取本地GBK编码格式html
- 关于使用Activex控件时,不能使用退格键的解决方法。
- RFC3920中文
- bbs上的资料(修改Oracle10g密码)
- jQuery-wDragSort 拖曳排序
- 系统参数配置的存储管理与应用的通用方法
- RFC3921中文
- 指针与指针变量的区别
- 理解MySQL——并行数据库与分区(Partition)