求源代码:
我们这里先提供请求方法的源代码:
Java
方案一
通过以上代码,我们能清楚在map对象中的name的话,是不会出现乱码的,那么就在返回的时候,response,并没有设置编码,那么怎么在返回的时候,指定编码呢,只需要稍微修改上面的代码即可:
Java
在这里我们手动配置了utf-8编码。
方案二
我们先说说方案一存在的问题:
(1)编码不方便,每个开发人员都需要进行编码;
(2)编码调整或者是后期发现中文,要调整的地方比较多;
(3)代码侵入性太强;
那么我们有更好的方案嘛,当然有,只需要在application.properties配置两个信息:
Java
到这里就可以完美解决中文乱码问题。
Java学习资料获取(复制下段连接至浏览器即可)
data:text/html;charset=UTF-8;base64,5p625p6E5biI5a2m5Lmg6LWE5paZ5YWN6LS56aKG5Y+W6K+35Yqg5omj5omj5Y+35pivMTAxODkyNTc4MA==
clipse运行页面显示中文乱码
页面源码
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="ISO-8859-1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>客户列表-BootCRM</title>
</head>
<body>
<h1>解决中文乱码</h1>
</body>
</html>
tomcat运行后
打开浏览器地址栏打就会出现乱码现象
分析问题
首先排查一下服务器是否启动,回看console最下面 server startup 表示服务器已经启动了 没有问题也没有报错。
其次查看页面源码,发现有三处编码为ISO-8859-1。
注意:数字英文都正常显示,只是中文乱码,是因为ISO-8859-1是单字节编码,此字符集支持部分于欧洲使用的语言,这个编码不支持中文,所以要换支持的编码啦,现在一般都通用UTF-8,因为ISO-8859-1是一个8位的容器。因为只有8位, 没那么多地方可以表示中文,但是,由于是单字节编码,和计算机最基础的表示单位一致,所以很多时候,仍旧使用 ISO-8859-1编码来表示。而且在很多协议上,默认使用该编码。
解决办法
将代码中三处的ISO-8859-1 改成UTF-8就好了。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>客户列表-BootCRM</title>
</head>
<body>
<h1>解决中文乱码</h1>
</body>
</html>
此时运行结果就正常了
tml如何选择编码,常见utf-8和gb2312编码如何判断选择!
一、首先了解目前国内中文网页常用编码是utf-8 还是gb2313。
百度搜索 使用utf-8
腾讯新闻 使用utf-8
淘宝 使用utf-8
亚马逊 使用utf-8
W3Cschool.cn 也使用utf-8
支付宝 使用utf-8
360搜索 使用utf-8
小米官网 使用utf-8
魅族官网 使用utf-8
可见截止2017年05月02日这些名站,均使用utf-8编码。
二、了解常见html编码utf-8和gb2312。
1、utf-8
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到4个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)一般显示简体中文字、繁体中文字、英文、日文、韩文均支持。
2、GB2312
GB2312即信息交换用汉字编码字符集。《信息交换用汉字编码字符集》是由中国国家标准总局1980年发布,1981年5月1日开始实施的一套国家标准,标准号是GB 2312—1980。GB2312编码适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312。一般简体中文的网站使用GB2312比较多。
3、W3Cschool小结
从文字支持上说utf-8比GB2312要多。一般企业站看情况自己选择网页编码。
三、如何选择utf-8和gb2313编码制作html
单独做html如果你是先div css做HTML,可以不用考虑编码问题,及时制作好了HTML编码要转换也很简单,只需要通过DW等软件即可完成html编码转换。
根据程序文件编码定如果在开发DIV CSS时就知道了程序文件时哪种编码。这个时候就要根据开发程序文件编码确定编码。如果程序文件和HTML编码不同很容易照成Html乱码(html中文乱码)。如果不会程序开发却使用开源程序比如dedecms 、帝国、phpcms 等网站系统时,开发HTML和使用开源程序编码也要保持一致。
总结:
无论什么情况下开发DIV CSS使用HTML编码要根据程序确定,如果无法确定要使用程序编码,这个时候选择常用gbk和utf编码两种均可,如果在开发HTML时知道程序文件使用什么HTML编码,这个时候在开发DIV CSS时候就要与程序文件使用编码保持一致,避免网页乱码问题。
所以建议最好用UTF-8,国际通用。GB2312是国内用的,简体中文。
*请认真填写需求信息,我们会在24小时内与您取得联系。