用uiwebview读取本地的htm中的内容乱码怎么解决

开始的时候是这样实现的但是webview中显示的内容全是乱码,代码如下

NSString *basePath = NSBundle mainBundle]bundlePath];

NSString *helpHtmlPath = ;

NSURL *url = NSURL fileURLWithPath:helpHtmlPath];

webView loadRequest:NSURLRequest requestWithURL:url]];


后来看到有大神这样解决的,但是问题又来了,我一经编码后htmlstring打印出来就为空了;

NSString *resourcePath = resourcePath];

NSString *filePath = ;

//这里打印filepath还能正确显示路径

NSString *htmlstring= initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

NSLog(@"%@",htmlstring);//但是这里的输出就空了

bundlePath]]];



请大神们帮帮小弟,先谢过了

很显然是文件不在bundle中,你直接用NSBundle的pathForResource获取就知道了。另外文件名注意大小写。

我理解错了,是你获取路径的方法不对,不应该用resourcePath

stringByAppendingPathComponent这样只是拼接字符串,并不保证路径是对的。

但是我还能获取到路径啊,就是NSString *htmlstring= initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];执行后 我的路径就为空了。

tringByAppendingPathComponent这样只是拼接字符串,并不保证文件存在。

提醒一点URL中是不能包含有中文字符的,如果有的话进行UTF-8编码先!否则URL一直都是空的!!!!

我的URL没有问题,能读取到htm中的内容,就是模拟器上显示的都是乱码。

加载到的内容也是需要进行编码的,之前做过类似的东西,我在将txt文本改用GBK编码之后,汉字都显示正常了

问题解决了,是我的html文档的问题。我用的Mac版的office对word文档进行html文档的转换的。换一个window版的office就没有什么问题了。还是十分感谢各位大大们。

        NSData *txtData = ;
    ;
<p> </p>
</p>