文档章节

Web中的中文乱码问题

LoveOne
 LoveOne
发布于 2015/12/02 10:21
字数 397
阅读 15
收藏 1

从4个方面讨论web中的乱码问题:

JSP页面中文乱码

修改JSP页面的编码为utf-8

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

Get参数中文乱码(最常见,问的最多的情况)

首先确保页面中中文不是乱码,如果在地址栏中访问地址中的中文参数可以正常显示,后台接收到的确实乱码。那就是tomcat对URL编码的问题。解决思路:在tomcat的config文件夹下的server.xml中找到自己定义的端口号的位置(一般配置使用http协议的connector),在里面加入URIEncoding="utf-8"或者URLEncoding="utf-8"

server.xml部分代码如下:

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" urlencoding="utf-8"/>

这种情况比较容易忽略,尤其是大家在刚下载tomcat后,tomcat中可能没有配置url编码,碰到乱码问题一直以为是自己程序哪里写的不对的问题。因此比较容易忽视。

Post参数中文乱码

这种问题是在使用Post传递参数时,后台接收到了乱码数据。

我们一般使用Spring的编码过滤器解决:在web.xml中配置filter

<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

返回数据中文乱码

这主要是Response的编码问题

解决方案:设置Response的编码格式

response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("UTF-8");


© 著作权归作者所有

LoveOne
粉丝 3
博文 9
码字总数 18588
作品 0
大连
私信 提问
IntelliJ IDEA 控制台中文乱码

2.2. 系统语言:中文 先说明一下如果系统语言设置为中文是没有乱码问题的,所以网上大量的重复文章的办法是把"File Encoding"设置为GBK或者GB2312,但是很多系统的编码不可能因为一个IDE而更...

xjt2016
2016/09/13
72
0
Zabbix-web的中文显示及其乱码问题解决方法

问题: 通常在安装完zabbix后默认显示的是英文界面,虽然1-2个月也就习惯了,但对于刚开始接触的人来说英文毕竟不太友好,所以为了今后方便还是将界面改为中文;当改为中文后,在查看图表时会...

紫色的茶碗
2017/08/10
0
0
Tomcat后台中文乱码分析

web应用程序在提交中文数据的时候,后台经常出现乱码现象。为了彻底分析产生原因,做了一个简单测试: 创建一个简单的java web应用程序,没有使用任何框架,部署在tomcat环境中。 使用谷歌和...

yxzkm
2016/12/27
83
0
关于owncloud中文文件夹乱码问题

最近在局域网部署了owncloud,但是发现一个问题:中文文件夹乱码!具体表现是:1、在WEB界面新建中文文件夹后,在服务器端DATA下面新建的文件夹是乱码,web显示正常,例如:新建“音乐”则显示...

小船2020
2014/02/11
4K
0
zabbix 3.2.2 server web展示如何显示中文 (三)

zabbix 3.2.2 server web展示如何显示中文 (三) 1、确认zabbix是否开启了中文支持功能(/var/www/html/zabbix/include/locales.inc.php) 2、登录zabbix后,点击可爱的小公主吧 Admin(zabbix...

xiaocao13140
2018/06/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

在docker容器中使用非root用户执行脚本 (

应用容器化之后,在docker容器启动时,默认使用的是root用户执行命令,因此容器中的应用默认都是使用root用户来运行的,存在很高的安全风险,那么如何能够使用非root的业务用户来运行应用呢,...

dragon_tech
15分钟前
3
0
那些能帮助你提升十倍开发效率的优质工具

Java世界中存在着很多工具,从著名的IDE(例如Eclipse,NetBeans和IntelliJ IDEA)到JVM profiling和监视工具(例如JConsole,VisualVM,Eclipse Memory Analyzer等)。 在本文中,我将重点介...

乱世当空
16分钟前
5
0
JavaScript面试题总结系列(二)

2. JavaScript对象 2.1 内置对象 Object是JavaScript中所有对象的父对象; 数据封装类对象:Object、Array、Boolean、Number、String; 其他对象:Function、Arguments、Math、Date、RegExp、...

张森ZS
24分钟前
6
0
Mac部署hadoop3(伪分布式)

环境信息 操作系统:macOS Mojave 10.14.6 JDK:1.8.0_211 (安装位置:/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home) hadoop:3.2.1 开通ssh 在"系统偏好设置"->"共享......

程序员欣宸
24分钟前
7
0
windows下disruptor源码由gradle工程转maven工程

github上下载disruptor源码工程,版本为3.3.2。 下载gradle的1.12版本的zip包。注意高版本的gradle会编译报错的,因为在disruptor工程中build.gradle文件中显示的gradle版本为1.12。 配置win...

zjg23
28分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部