整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Spring Boot 集成jersey中文乱码完美方案

求源代码:

我们这里先提供请求方法的源代码:

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是国内用的,简体中文。