
首先谈谈最近遇到的问题,
使用spring mvc遇到中文乱码. Spring String的StringHttpMessageConverter的默认字符集为“ ISO-8891-1”;它需要在开发过程中进行处理:
方法1: 指定supportedMediaTypes
application / json;字符集= UTF-8
文本/纯文本;字符集= UTF-8
mvc: 消息转换器>
mvc: 注释驱动型>
方法2: 指定defaultCharset =“ UTF-8”
util: list>
以下部分是摘要:

我总是在JSP页面上遇到乱码的问题. 每次我现在搜索互联网,然后随机更改它,更改后的原因我都不理解.
这次只是总结一下jsp注释中文乱码,中文乱码是因为编码不匹配,可能有四个地方的乱码:
1个JSP编码乱码
2个HTML编码乱码
3请求获取数据乱码
4响应输出信息乱码
5由Cookie引起的编码问题
下面将介绍以下情况:
JSP乱码
这是最常见的. 设置编码的位置在JSP的第一行. 如果您在Eclipse中创建新的JSP,则默认值为以下内容:
<%@页面语言=“ java” contentType =“文本/ html; charset = ISO-8859-1” pageEncoding =“ ISO-8859-1”%>
您会看到其默认页面编码和传输编码均为ISO-8859-1,这是欧洲国家/地区使用的编码. 如果要支持中文,则可以使用UTF-8,GB2312,GBK等. UTF-8是国际化的,并且所有国家/地区都支持它,因此请推送
推荐使用它.

让我们谈谈编码中涉及的上述两个地方: charset和pageEncoding
字符集是服务器将其发送给客户端时的编码;
pageEncoding用于设置JSP页面本身的编码.
JSP在部署后提供给用户,并将经历三个阶段:
1 JSP生成Java文件: 在此阶段,将使用pageEncoding定义的编码格式进行转换
2个Java文件生成类文件: 在此阶段,服务器tomcat自动使用utf-8编码将Java文件转换为字节码类文件
3通过读取类文件显示给用户: 在这一阶段,tomcat服务器获取字节码内容并使用contentType定义的编辑器
代码格式显示给用户.
一般过程如下:

这将在JSP中设置第一行代码,以确保基本的JSP表示不乱码!
<%@页面语言=“ java” contentType =“文本/ html; charset = UTF-8” pageEncoding =“ UTF-8”%>
HTML乱码

由于JSP还包含HTML内容,因此HTML本身也已编码.
在此处插入标题如果这部分编码有问题jsp注释中文乱码,则HTML中标记的中文名称会显示乱码.
由于HTML仅涉及表示层,因此content属性中只有一个字符集. 如果正确设置了编码格式,就没有问题.
要求中文乱码
有时在进行诸如提交表单之类的jsp逻辑处理时,部分数据是从首页注册页面提交的,但是JSP页面需要稍后处理
通过request.getParameter调用时,您会得到一堆乱码.
这是因为尽管在先前的JSP中设置了编码格式,但在当前的JSP中未设置读取数据的编码格式.
使用以下代码,您可以设置请求的数据编码以获取所请求的内容:
request.setCharacterEncoding(“ UTF-8”);
应该注意,此方法对JSP请求(如URL传递参数)无效. 例如:
URL测试请求(zh)
URL测试请求(zh)
在这种情况下,仍然会出现乱码. 这种在URL中传输参数的方式只能修改tomcat服务器的传输编码格式.

修改apache-tomcat-6.0.43 \ conf目录中的tomcat安装文件server.xml
添加URIEncoding =“ UTF-8”,可以解决URL传输参数引起的中文乱码的问题.
响应输出中文乱码
使用此方法输出页面的页面可能并不多,但是仍然有必要说,当响应输出页面元素的内容时,
出现乱码.
使用以下代码设置响应输出的编码格式:
response.setContentType(“ text / html; charset = UTF-8”);
cookie引起的中文乱码
Cookie需要存储在客户端中,因此在使用过程中需要对其进行编码和转码:
保存cookie数据之前
首先介绍java.net. *,该软件包包含URLEncoder类;
确保响应和请求的编码正确;
使用URLEncoder转码并保存.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-225621-1.html
还在这充好人