JSP中文乱码处理

主  题: 散分,顺便分享我的JSP中文字符处理心得(原创)
作  者: joyous (NULL)
等  级: 
信 誉 值: 99
所属社区: Java Web 开发
问题点数: 100
回复次数: 1
发表时间: 2006-08-17 09:38:12

JSP代码中的 JAVA 字符编码设置

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.net.URLEncoder"%>
(好像上条语句并非必要)

红色为制定JSP处理字符采用UTF-8编码处理方式。

<%request.setCharacterEncoding ("UTF-8");%>
JSP内JAVA代码设定接收参数为UTF-8编码,在form提交,post还是get都支持中文,如果没有该设定,就只能使用get方式。

JSP 内 HTML 头的编码设置
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Note Page</title>
  </head>
  <body>
……
……

红色部分UTF-8制定HTML页面使用的编码方式

form 提交代码如下

<form action=index.jsp method="post"><h3>Please Input Your Name:</h3>
<input type="text" size="30" name="yourname" value="" >
<input type=submit value="提交">
</form>

接收代码如下:

<%
String temp1 = request.getParameter ("yourname");
……
%>

 
    超链接参数传递方式略有不同,若只采用以上设定,遇中文参数,直接提交会导致部分文字获取参数,再提交前务必进行编码。

<a href="
<%=request.getContextPath()%>/index.jsp?yourname=
<%=java.net.URLEncoder.encode (Joho,"UTF-8")%>">
<%=MyName%>
</a>

    由java.net.URLEncoder.encode函数将要发送的变量解析为16进制数字编码,进行URL传递,若不编码接收到的信息很可能是/ufffd或者是残缺的中文,示范接收代码如下:

<%String str = request.getParameter ("传递的参数名");%>
<p>Hello: <%=str%></p>

由此,获得参数后的str内将是正确的中文信息。

    设置完毕将完美解决JSP中文字符参数问题,MySQL也同样设置为UTF-8编码,数据库存取没问题,Tomcat服务器环境进行任何设置。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值