JSP 中文乱码显示处理解决方案
JSP 中文乱码显示处理解决方案
JSP 中文乱码处理解决方案
初学JSP,尤其是Tomcat环境(GlassFish默认UTF-8,则不存在此类问题),经常会因为中文汉字字符集设置问题导致中文乱码,本文就这一问题提出解决方案,解决中文乱码问题,供各位参考,我采用的方案是统一字符集至UTF-8,同时避免GB2312所带来的中文字符集不够用的隐患,需注意的地方有三点,默认情况下是英文字符集。
1、Tomcat 的 server.xml 文件,设置服务器端口工作方式
2、Servlet 和 JavaBean 对字符串字符集处理的统一
3、JSP页面的字符集统一
完成这三点统一,中文想乱码都难,如果使用MySQL的话,数据表也需要做UTF-8统一。
修改Tomcat的server.xml文件,该文件位于 tomcat/conf,红色部分为添加部分,也就是当前使用的HTTP端口的连接方式的设置。
找到Connector 标签,使 Tomcat 服务器以UTF-8模式进行工作,从底层对乱码进行处理,修改如下:
<Connector URIEncoding="utf-8" port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
其它应用服务器例如GlassFish默认支持utf-8,服务器本身无需设置,只须代码上注意即可。
运行代码内设置如下:
JavaBean 和 Servlet 内需要处理中文的地方之前,或者所有函数最前端加上
request.setCharacterEncoding ("UTF-8");
response.setCharacterEncoding ("UTF-8");
避免在 JavaBean 和 Servlet 内出现汉字乱码。
JSP代码中的 JAVA 字符编码设置,在页面上对乱码进行处理。
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
红色为制定JSP处理字符采用UTF-8编码处理方式。
<%request.setCharacterEncoding ("UTF-8");%>
JSP内JAVA代码设定接收参数为UTF-8编码
JSP 内 HTML 头的编码设置,页面处理以UTF-8,避免显示乱码。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Note Page</title>
</head>
<body>
……
……
红色部分UTF-8制定HTML页面使用的编码方式
<form action=index.jsp method="post"><h3>Please Input Your Name:</h3>
<input type="text" size="30" name="中文名字" value="" >
<input type=submit value="提交">
</form>
接收代码如下:
<%
// 通过二进制传递的参数,因为UTF-8的设置,无须转换,直接中文操作,而不会出现乱码。
String temp1 = request.getParameter ("yourname");
……
%>
采用get方式略有不同,若只采用以上设定,遇中文参数,因编码不同,会导致部分文字信息丢失,所以在提交前务必进行编码,这里用到两个函数java.net.URLDecoder.decode 和java.net.URLDecoder.decode,分别是编码和解码。
<a href="
<%=request.getContextPath()%>/index.jsp?传递的参数名=
<%=java.net.URLEncoder.encode (传递的汉字变量,"UTF-8")%>">
<%=超链接热点显示内容%>
</a>
作为参数传递的中文,由 java.net.URLEncoder.encode函数将要发送的变量解析为16进制数字编码,进行URL传递,接收代码如下:
<%String str = request.getParameter ("传递的参数名");%>
由此,获得参数后的 str 内将是正确的中文信息,完全避免了乱码的显示。
可用 java.net.URLDecoder.decode 函数
例如
<%
String str1 = java.net.URLDecoder.decode(request.getParameter("传递的参数名"),"UTF-8");
%>
完毕将完美解决中文字符参数乱码问题。
JSP 中文乱码显示处理解决方案的更多相关文章
- Tomcat 中 jsp 中文乱码显示处理解决方案
原地址: http://blog.csdn.net/joyous/article/details/1504274 初学JSP,尤其是Tomcat环境(GlassFish默认UTF-8,则不存在此类问题 ...
- jsp中文乱码六种情况---解决方案
转 jsp中文乱码六种情况---解决方案 2016年10月22日 21:32:55 阅读数:10672 来源:http://blog.csdn.net/lovesummerforever/articl ...
- 【转】JSP中文乱码问题终极解决方案
原文地址:http://blog.csdn.net/beijiguangyong/article/details/7414247 在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的 ...
- JSP中文乱码问题终极解决方案
在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的JSP中文乱码问题有如下几个方面:页面乱码.参数乱码.表单乱码.源文件乱码.下面来逐一解决其中的乱码问题. 一.JSP页面中文乱码 ...
- JSP中文乱码解决方案
学习JSP的过程中总会碰到中文乱码问题,有的是post方式提交没问题,用get方式提交有乱码,还有的是部署到tomcat中没问题,在Eclipse中启动tomcat,发现用get方式提交有乱码.产生乱 ...
- jsp中文乱码终极解决方法(转)
一, 找出问题的根源乱码可能出现的地方: jsp页面中 jsp页面之间相互传参的参数 与数据库中数据的存取 基本归纳为以上几种. 二, 寻找解决方案 出现在jsp页面中,是由于没有设置jsp页面的中文 ...
- jsp中文乱码解决办法
一.JSP页面显示乱码 二.表单提交中文时出现乱码 三.数据库连接 大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到 的中文乱码的问题及解决办法写出来供 ...
- jsp中文乱码终极解决方法
转载http://blog.csdn.net/csh624366188/article/details/6657350 一 找出问题的根源 乱码可能出现的地方:1 jsp页面中 ...
- JSP中文乱码问题的由来以及解决方法
首先明确一点,在计算机中,只有二进制的数据! 一.java_web乱码问题的由来 1.字符集 1.1 ASCII字符集 在早期的计算机系统中,使用的字符非常少,这些字符包括26个英文字母.数字符号和一 ...
随机推荐
- Nuget 管理entity framework
安装,带版本号 PM> Install-Package EntityFramework -Version 5.0.0 更新数据库 PM> Enable-Migrations -Contex ...
- cocos2d-x + Lua接入iOS原生SDK的实现方案[转]
相信很多朋友在使用cocos2d-x+lua开发游戏时都遇到过接入iOS原生SDK的问题,比如常见的接应用内支付SDK,广告SDK或是一些社交平台SDK等等,我也没少接过这类SDK.这篇文章主要是对我 ...
- 三、Distributing Maya Plugins
For example, a fully implemented render utility node will have at least three files: the plug-in fil ...
- Response.Redirect引起的“无法在发送HTTP标头之后进行重定向”
博客后台切换至i.cnblogs.com之后,在日志中发现大量的“无法在发送HTTP标头之后进行重定向”(Cannot redirect after HTTP headers have been se ...
- Android IOS WebRTC 音视频开发总结(七五)-- WebRTC视频通信中的错误恢复机制
本文主要介绍WebRTC视频通信中的错误恢复机制(我们翻译和整理的,译者:jiangpeng),最早发表在[这里] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blac ...
- 转(Delphi 新窑洞):使用delphi 开发多层应用(十七)使用RTC web 服务器返回JSON
RTC作为delphi 的最专业的web 应用服务器,如果客户端要使用JSON 的话,那么使用RTC 应该也是一种 非常好的选择.下面我们做一个使用RTC web 服务器返回数据库JSON 的例子. ...
- LeftoverDataException.
在用java poi 3.8操作excel的时候,在打开一个已有excel文件时,有时候会报错: org.apache.poi.hssf.record.RecordInputStream$Leftov ...
- Jvm支持的最大线程数
摘自 http://blog.csdn.net/xyls12345/article/details/26482387 JVM最大线程数 (2012-07-04 23:20:15) 转载▼ 标签: jv ...
- 第一零三天上课 PHP TP框架下控制器的方法分离
(1)配置信息 修改配置文件->Config.php (配置后,原先的控制方法无效) 'ACTION_BIND_CLASS' => TRUE, // 控制器方法分离 (2)在Control ...
- jquery validate ajax submit form
when the jquery validation plugin is used for validating the form data, such as below: html code: &l ...