JSP 中文乱码显示处理解决方案

分类: 所有 Web前端 J2EE2007-02-07 14:20 2895人阅读 评论(2) 收藏 举报

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 中文乱码显示处理解决方案的更多相关文章

  1. Tomcat 中 jsp 中文乱码显示处理解决方案

    原地址: http://blog.csdn.net/joyous/article/details/1504274 初学JSP,尤其是Tomcat环境(GlassFish默认UTF-8,则不存在此类问题 ...

  2. jsp中文乱码六种情况---解决方案

    转 jsp中文乱码六种情况---解决方案 2016年10月22日 21:32:55 阅读数:10672 来源:http://blog.csdn.net/lovesummerforever/articl ...

  3. 【转】JSP中文乱码问题终极解决方案

    原文地址:http://blog.csdn.net/beijiguangyong/article/details/7414247 在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的 ...

  4. JSP中文乱码问题终极解决方案

    在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的JSP中文乱码问题有如下几个方面:页面乱码.参数乱码.表单乱码.源文件乱码.下面来逐一解决其中的乱码问题. 一.JSP页面中文乱码 ...

  5. JSP中文乱码解决方案

    学习JSP的过程中总会碰到中文乱码问题,有的是post方式提交没问题,用get方式提交有乱码,还有的是部署到tomcat中没问题,在Eclipse中启动tomcat,发现用get方式提交有乱码.产生乱 ...

  6. jsp中文乱码终极解决方法(转)

    一, 找出问题的根源乱码可能出现的地方: jsp页面中 jsp页面之间相互传参的参数 与数据库中数据的存取 基本归纳为以上几种. 二, 寻找解决方案 出现在jsp页面中,是由于没有设置jsp页面的中文 ...

  7. jsp中文乱码解决办法

    一.JSP页面显示乱码 二.表单提交中文时出现乱码 三.数据库连接 大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到 的中文乱码的问题及解决办法写出来供 ...

  8. jsp中文乱码终极解决方法

    转载http://blog.csdn.net/csh624366188/article/details/6657350 一 找出问题的根源    乱码可能出现的地方:1 jsp页面中          ...

  9. JSP中文乱码问题的由来以及解决方法

    首先明确一点,在计算机中,只有二进制的数据! 一.java_web乱码问题的由来 1.字符集 1.1 ASCII字符集 在早期的计算机系统中,使用的字符非常少,这些字符包括26个英文字母.数字符号和一 ...

随机推荐

  1. (转)JPEG图片数据结构分析- 附Png数据格式详解.doc

       一.简述 JPEG是一个压缩标准,又可分为标准JPEG.渐进式JPEG及JPEG2000三种: ①标准JPEG:以24位颜色存储单个光栅图像,是与平台无关的格式,支持最高级别的压缩,不过,这种压 ...

  2. (转)winform Form 淡入淡出效果

    原文地址:http://blog.csdn.net/a237428367/article/details/5933565 using System.Runtime.InteropServices; p ...

  3. oracle 利用flashback将备库激活为read wirte(10g 及上)

    oracle 利用flashback将备库激活为read wirte(10g 及上) 环境: OS: CENTOS 6.5 X64 DB: ORACLE 10.2.0.5 主库操作: SQL> ...

  4. oracle中的查询语句(关于出库入库信息表,明细表,把捆包箱表,单位信息表的集中查询)

    --查出所有现金中心的单位IDwith AllUnitas(select t.ORGANIZATIONID orgid,t.parentidfrom CDMS_ORGANIZATION t where ...

  5. MBW内存测试

    在测试前,理应了解本机所具备的特点,比如CPU频率.内存频率.内存大小,等等信息. 查看CPU用如下命令(多少个核,频率,特性等): cat /proc/cpuinfo 查看内存用如下命令:(只有当前 ...

  6. pyhon之对memcached及redis操作

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  7. QlikView TEXT控件固定显示图片

    QlikView 的Text控件不仅可以用来展示文本也可以用来展示图片. 数据表 2个列,一个是 关联字段(Country),另外一个保存图片物理路径. TEXT控件固定显示图片 ,编辑控件表达式 = ...

  8. Dig out deleted chat messages of App Skype

    Last month Candy was arrested on suspicion of having doing online porn webcam shows, but Candy refus ...

  9. 一个等待页面加载完毕的loading动画

    1 html 部分 <!DOCTYPE html><html><head><meta http-equiv="Content-Type" ...

  10. srum.3

    1. 确保product backlog井然有序.(参考示例图1) 2. Sprint周期,一个冲刺周期,长度定为两周,本学期还有三个冲刺周期. 3. 确定Sprint目标. 3.1 产品负责人概括产 ...