生僻字html乱码,Tomcat 5.5.X及以上版本的生僻字乱码解决办法
软件环境:Tomcat5.5.X
问题描述:
1)一般的汉字正常,如:中国,任务,管理。
2)生僻字出现乱码。如:喆,璟。
解决过程:
1、前言。在Tomcat4中,GET和POST使用相同的处理方式;从Tomcat5开始,GET和POST使用不同的处理方法。所以用POST提交正常,但用GET提交就变成了乱码。
2、页面乱码的解决方式。
1)所有的页面编码都用GBK或GB2312。
%>
http-equiv="Content-Type" content="text/html; charset=GBK"
/>
或
page contentType="text/html; charset=GB2312" %>
http-equiv="Content-Type" content="text/html; charset=GB2312"
/>
但只这个只能解决页面的显示问题。
3、表单提交(GET/POST)乱码的解决方式。
解决方式一:
1)打开
server.xml,找到
URIEncoding="GBK" 配置项。配置示例如下:
maxHttpHeaderSize="8192"
maxThreads="150"
minSpareThreads="25" maxSpareThreads="75"
enableLookups="false"
redirectPort="8443" acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="GBK"
/>
表示GET方式采用GBK编码。
2)然后再加上
useBodyEncodingForURI="true"
的配置,表示POST和GET都采用相同的编码处理方法。实际上在Tomcat5中useBodyEncodingForURI的属性默认为false,代表着GET和POST方式采用了不同的处理方法。配置示例如下:
maxHttpHeaderSize="8192"
maxThreads="150"
minSpareThreads="25" maxSpareThreads="75"
enableLookups="false"
redirectPort="8443" acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="GBK"
useBodyEncodingForURI="true"
/>
解决方式二:
1)
打开 server.xml,找到
URIEncoding="GBK" 配置项。配置示例如下:
maxHttpHeaderSize="8192"
maxThreads="150"
minSpareThreads="25" maxSpareThreads="75"
enableLookups="false"
redirectPort="8443" acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="GBK" />
表示GET方式采用GBK编码。
2)在web.xml中添加过滤器。配置如下:
filter
cn.aofeng.filter.CharsetFilter
encoding
GBK
filter
package cn.aofeng.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class CharsetFilter implements Filter
{
// -----------------------------------------------------
Instance Variables
protected String encoding = null;
protected FilterConfig filterConfig = null;
// ---------------------------------------------------------
Public Methods
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(encoding); // 编码
chain.doFilter(request,
response); //
转向下一个过滤器
}
public void init(FilterConfig filterConfig) throws
ServletException {
this.filterConfig =
filterConfig;
this.encoding =
filterConfig.getInitParameter("encoding");
}
// ------------------------------------------------------
Protected Methods
protected String selectEncoding(ServletRequest
request) {
return (this.encoding);
}
}
注意:
生僻字:璟,喆
等不在GB2312的字符集内,GBK才支持这些生僻字,因此,在配置时需将编码设置成GBK才能解决生僻字的乱码问题。
通过上述方式,可以解决页面的乱码及GET和POST提交时汉字乱码的问题。
生僻字html乱码,Tomcat 5.5.X及以上版本的生僻字乱码解决办法相关推荐
- Tomcat服务器响应特别慢(服务器假死)的解决办法
Tomcat服务器响应特别慢(服务器假死)的解决办法 最近在做项目,突然发现服务器响应太慢了,点几页就在转圈圈,查了博客才发现是数据库连接池的连接没关,中途增加了个方法,需要获取数据库连接,最后忘记关 ...
- 关于tomcat环境下上传大文件遇到的问题及解决办法
转载自:http://blog.csdn.net/tqwwilliam/article/details/7108247 问题描述: 关于tomcat环境下上传大文件遇到的问题及解决办法 解决方案: 1 ...
- 导出excel写入公式_乱码、公式出错、效率低,这些excel“事故”的解决办法来了...
最近与学员打交道很多,发现跨境电商的财务除了要头疼怎么核算利润.怎么合规外,还被各种excel问题困扰,而且我发现,好多财务也没有这么多空去学习更多的excel的知识. 所以今天,唐老师根据过去在四大 ...
- Job for tomcat.service failed because the control process exited with error code 解决办法:
这个问题是在 < Linux下Tomcat8.5安装与环境配置 > 时遇到的: 错误信息如下: Job for tomcat.service failed because the cont ...
- Tomcat启动成功能访问主页面但是不能访问应用解决办法
还是之前做的登录系统,现在要部署到服务器上. 问题:在我本地能访问,在服务器上Tomcat主页面能访问,访问应用报404. 首先将Tomcat拷贝到服务器的某个目录,解压得到文件夹 然后将应用打成wa ...
- eclipse+tomcat 启动已有工程时卡在starting100%状态的解决办法
错误现象 错误原因:加载mybatis的问题,有的错误,不会报错,但是会出现上面的现象 我的错误地方 在mapper.xml文件中我直接使用了类名但是却忘了配置以下内容,对实体类进行扫描,所以不能用别 ...
- Requirement already satisfied+红字Read time out(upgrading via the ‘python -m pip install --upgrad)解决办法
在安装python2.7时需要下载h5py库,出现问题:参考(188条消息) Requirement already satisfied解决办法_普通网友的博客-CSDN博客 进行下载,下载至一半出现 ...
- Server Tomcat v7.0 Server at localhost failed to start.解决办法(图文详解)
问题描述 Server Tomcat v7.0 Server at localhost failed to start. 解决办法 把你工作空间文件夹下的如下路径打开: <workspace-d ...
- Tomcat内存溢出(java.lang.OutOfMemoryError: PermGen space)的解决办法
原文:http://cheen.iteye.com/blog/1687420 Tomcat启动时报如下错误: java.lang.OutOfMemoryError: PermGen spa ...
最新文章
- CUDA Samples: 获取设备属性信息
- Codeforces Round #528 (Div. 2, based on Technocup 2019 Elimination Round 4) C. Connect Three 【模拟】...
- python调用webservice接口实例_python调用webservice接口的实现
- WPF使用Canvas绘制可变矩形
- MFC使用GDI+编程设置
- ESXi 内存回收机制
- 20200710:动态规划复习day03
- 剑指Offer——重建二叉树
- 任正非《以客户为中心》
- mysql复制表结构(包括索引)
- FastReport VCL如何在 Lazarus安装FastReport
- 学习方法和学习经验总结
- 【Transformer架构】Transformers are RNNs (linear transformer)
- 主引导记录(MBR)分析
- 天气预报今天几点下雨_天气预报今天几点下雨【相关词_ 天气预报明天几点下雨】...
- ifrog 1130 喵哈哈村的魔法大师╳灬兲笙疯癫°月 缩点+最小路径覆盖+背包
- 利用pytorch 做一个简单的神经网络实现sklearn库中莺尾花的分类
- 什么是嵌入式服务器?为什么要使用嵌入式服务器? -- java面试
- HDU 5336 XYZ and Drops(模拟十滴水游戏 BFS)
- java实现购买_一个简单的实现购买商品功能的Java小程序
热门文章
- 四、redi性能测试、协议、事务
- 全渠道营销与多渠道营销:定义、比较、示例
- 解密!区块链BaaS是什么?
- Java 存牌洗牌发牌看牌
- HO-PLGA-COOR,酯封端聚(D,L-丙交酯-co-乙交酯)共聚物
- [E::hts_idx_push] NO_COOR reads not in a single block at the end 10 -1
- 路由基础(Routing)
- 笔记本电脑下面的任务栏一直转圈圈
- linux qt lgl,Linux下QT、cannot find -lGL、
- 项目管理PMBOK中各知识领域过程的关系图