今天有人问Swift中UIWebView加载页面出来的是乱码,问知道怎么解决么?

OC我知道肯定不会有乱码问题,Swift就不知道了,因为没有试过.....于是...我自己动手试试啦...

OC和Swift我都写了一遍,代码如下:

用loadRequest确实会是乱码显示,使用loadHTMLString就不会.....因为你的html没有对文字进行编码格式转化 要转化成utf-8才可以.若webView是通过loadHTMLString加载的网页,是将网页预加载下来转换为string.

OC代码如下:

#import "ViewController.h"

#define kScreenWidth  [UIScreen mainScreen].bounds.size.width
#define kScreenHeight [UIScreen mainScreen].bounds.size.height @interface ViewController ()<UIWebViewDelegate> @property (nonatomic, strong) UIWebView *webView; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; [self.view addSubview:self.webView];
} - (UIWebView *)webView { if (!_webView) {
_webView = [[UIWebView alloc]initWithFrame:CGRectMake(, , kScreenWidth, kScreenHeight)];
_webView.delegate =self;
// [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://139.199.12.84:5858/sxweb/attached/projectStep/1.html"]]];
NSURL *url = [NSURL URLWithString:@"http://139.199.12.84:5858/sxweb/attached/projectStep/1.html"];
NSString * strUrl = [[NSString alloc]initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; [_webView loadHTMLString:strUrl baseURL:url];
}
return _webView;
}

Swift代码如下:

import UIKit

class ViewController: UIViewController, UIWebViewDelegate {

    var webView: UIWebView?

    override func viewDidLoad() {
super.viewDidLoad() webView = UIWebView(frame: CGRect(x: , y: , width: view.frame.size.width, height: view.frame.size.height))
webView?.delegate = self
let url = URL(string: "http://139.199.12.84:5858/sxweb/attached/projectStep/1.html")
// let request = URLRequest(url: url!)
// webView?.loadRequest(request)
let urlString = try? String(contentsOf: url!, encoding: String.Encoding.utf8)
webView?.loadHTMLString(urlString!, baseURL: url!)
view.addSubview(webView!)
}
}

显示没有乱码界面:

UIWebView显示乱码问题的更多相关文章

  1. Linux中文显示乱码?如何设置centos显示中文

    Linux中文显示乱码?如何设置centos显示中文 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一 ...

  2. linux终端 字符界面 显示乱码

    方法一:配置SSH工具 SecureCRT中文版配置 [全局选项]→[默认会话]→[编辑默认设置]→[终端]→[外观]→[字体]→[新宋体 10pt CHINESE_GB2312]→[字符编码 UTF ...

  3. 下载apk文件浏览器会直接打开并显示乱码的问题

    今天同事反映他的apk文件在自己的老项目中下载有问题:下载apk文件浏览器会直接打开并显示乱码,在别的项目中就没有问题. 后分析response的content-type发现,老项目的类型是text/ ...

  4. Xshell个性化设置,解决Xshell遇到中文显示乱码的问题

    在同事的推荐下,今天开始使用Xshell连接Linux,但是发现一个“遇到中文显示乱码”的问题, 同事的解决方案如下: 平常给Linux上传文件之前,先把文件转换成UTF-8编码形式, 然后设置Xsh ...

  5. (转)sqlplus中文显示乱码的问题

    sqlplus中文显示乱码的问题 2010-07-19 11:33:26 分类: LINUX 在windows下sqlplus完全正常,可是到linux下,sqlplus中文显示就出问题了,总是显示“ ...

  6. mysql 乱码问题(程序界面显示正常,mysql command line显示乱码)

    今天用java写一个程序,用的是mysql数据库.界面出现乱码,然后写了一个过滤器结果了乱码问题. 但是,当我在mysql command line 中查询数据的时候,在界面上显示正常的数据,在mys ...

  7. linux下打开txt显示乱码的解决方法

    Linux打开txt文件乱码的解决方法   Linux显示在Windows编辑过的中文就会显示乱码是由于两个操作系统使用的编码不同所致.Linux下使用的编码是utf8,而Windows使用的是gb1 ...

  8. iTextSharp带中文转换出来的PDF文档显示乱码

    刚才有写一个小练习<Html代码保存为Pdf文件>http://www.cnblogs.com/insus/p/4323224.html.马上有网友说,当截取块有中文时,保存的pdf文件将 ...

  9. 【linux】英文显示乱码解决

    在linux环境中中文显示正常,而英文却显示乱码 用 echo $LANG 显示编码为 zh_CN.GB18030 解决方法: 输入 export LC_ALL=POSIX 即可

随机推荐

  1. petapoco存储过程

    db.ExecuteScalar<string>("exec P_GetCode @0,@1,@2,@3,@4,@5",); using (var db = new D ...

  2. 给 VS 2010 选一个好用的代码行数统计器(转)

    给 VS 2010 选一个好用的代码行数统计器 分类: Tricks2011-02-25 05:40 3891人阅读 评论(0) 收藏 举报 2010c 推荐一个VS插件,支持2005/2008/20 ...

  3. windows 服务

    一.创建一个Windows Service1)创建Windows Service项目 2)对Service重命名将Service1重命名为你服务名称,这里我们命名为ServiceTest. 二.创建服 ...

  4. metasploit用法

    1.msfconsole 进入metasploit 2.help connect 查看帮助 3.msfcli -h 查看帮助 4.ms08_067_netapi O 字符命令后加“O”,查看配置 5. ...

  5. ajax通讯之格式详解

    前言: ajax的出现,一定程度上改变了js的命运,同时也被广泛使用,而jq的兴起也大大降低了ajax的使用难度.虽然,jq的ajax方法使用起来十分便利,但是大部分开发人员也仅仅只是对其中的几个属性 ...

  6. css secrets----multiple borders

    原始文档: https://www.zybuluo.com/freeethy/note/193574 box-shadow solution 只能实现solid border box-shadow表现 ...

  7. Ninject之旅之七:Ninject依赖注入

    摘要 可以使用不同的模式向消费者类注入依赖项,向构造器里注入依赖项是其中一种.有一些遵循的模式用来注册依赖项,同时有一些需要避免的模式,因为他们经常导致不合乎需要的结果.这篇文章讲述那些跟Ninjec ...

  8. php学习笔记

    header("Content-Type:text/html;charset=utf-8");//设置中文请求中文 $host = "localhost";// ...

  9. linux 下 TeXmacs 作 Maple 18 的前端

    TeXmacs的maple 插件比较老,默认条件下无法运行maple 18.且默认情况下maple18不在系统的搜索目录中,导致TeXmacs中不显示 maple 的session.以下假设TeXma ...

  10. java的继承和重写

    继承是面向对象最显著的一个特性.继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力.[1]  Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以 ...