您遇到编码错误。您指定,您的源将是 UTF-8 编码的,但事实并非如此。
选项1
让 UIWebView 自己处理请求有什么问题?这会更容易,您不必乱用编码。
NSString *urlstring = @"http://some.url.com";
NSURL *url = [NSURL URLWithString:urlstring];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webview loadRequest:request];
选项 2
尝试使用NSASCIIStringEncoding
而不是NSUTF8StringEncoding
. 已经为我做了一个快速测试。其他 NSStringEncoding 枚举可以在这里找到:http: //api.monobjc.net/html/T_Monobjc_Foundation_NSStringEncoding.htm
为未来:
不要忽略错误。
NSError *error;
NSString *html = [NSString stringWithContentsOfURL:[NSURL URLWithString: [NSString stringWithFormat:@"http://site.com/external/get.php?type=phone&url=%@", url]] encoding:NSUTF8StringEncoding error:&error];
if (error)
NSLog(@"Error: %@", [error localizedDescription]);
在您的情况下,这很可能已打印Cocoa error 261
到控制台。这意味着您的编码错误,可以通过 google 和/或 stackoverflow 轻松找到。
此外,当遇到此类问题时,请尝试调试您的应用程序。问题是字符串为零,而不是 WebView 出现故障。