常见3个例子及其解决方法如下
实例一、jsp页面显示时
<html>
<head>
<title>中文乱码——jsp页面显示时</title>
</head>
<body>
<center>
<br/>
<h1>木兰辞拟古决绝词柬友</h1>
<p>人生若只如初见,何事秋风悲画扇。</p>
<p>等闲变却故人心,却道故人心易变。</p>
<p>骊山语罢清宵半,泪雨霖铃终不怨。</p>
<p>何如薄幸锦衣郎,比翼连枝当日愿。</p>
</center>
</body>
</html>
运行结果:
解决方法:为其指定中文字符集,<html>前加入
<%@ page contenttype="text/html;charset=gb2312" %>
实例二、jsp页面传递中文参数时
注册页面:
<%@ page contenttype="text/html;charset=gb2312" %>
<html>
<head>
<title>中文乱码——jsp页面传递中文参数时</title>
</head>
<body>
<h2>申请账号:</h2>
<form action="usermsg.jsp" method="post">
<p>邮箱: <input type="text"name="email" id="email"/><p/>
<p>昵称: <input type="text"name="nickname" id="nickname"/><p/>
<p>密码: <input type="password"name="password" id="password"/><p/>
<p>性别: <input type="radio"name="sex" id="sex"value="男" /> 男
<input type="radio" name="sex"id="sex" value="女" /> 女<p/>
<textarea name="introduction"id="introduction" rows="5" cols="27">一句话介绍自己...</textarea>
<p><input type="submit"value="提交申请"></p>
</form>
</body>
</html>
个人信息页面:
<%@ page contenttype="text/html;charset=gb2312" %>
<html>
<head>
<title>中文乱码——jsp页面传递中文参数时 </title>
</head>
<body>
<center>
<h2>用户信息:</h2>
<% string email = request.getparameter("email"); %>
<% string nickname = request.getparameter("nickname"); %>
<% string password = request.getparameter("password"); %>
<% string sex = request.getparameter("sex"); %>
<% string introduction = request.getparameter("introduction");%>
<p>邮箱: <% out.print(email); %><p/>
<p>昵称: <% out.print(nickname); %><p/>
<p>密码: <% out.print(password); %><p/>
<p>性别: <% out.print(sex); %><p/>
<p>个人介绍:<%out.print(introduction); %></p>
</center>
</body>
</html>
运行结果:
解决方法:修改个人信息页面如下
<%@ page contenttype="text/html;charset=gb2312" %>
<html>
<head>
<title>中文乱码——jsp页面传递中文参数时 </title>
</head>
<body>
<h2>用户信息:</h2>
<% string email = newstring(request.getparameter("email").getbytes("iso-8859-1"), "gb2312");%>
<% string nickname = newstring(request.getparameter("nickname").getbytes("iso-8859-1"), "gb2312");%>
<% string password = newstring(request.getparameter("password").getbytes("iso-8859-1"), "gb2312");%>
<% string sex = newstring(request.getparameter("sex").getbytes("iso-8859-1"), "gb2312");;%>
<% string introduction = newstring(request.getparameter("introduction").getbytes("iso-8859-1"), "gb2312");;%>
<p>邮箱: <% out.print(email); %><p/>
<p>昵称: <% out.print(nickname); %><p/>
<p>密码: <% out.print(password); %><p/>
<p>性别: <% out.print(sex); %><p/>
<p>个人介绍:<%out.print(introduction); %></p>
</body>
</html>
实例三、servlet处理中文参数时
注册页面:
<%@ page contenttype="text/html;charset=gb2312" %>
<%@ page import="test.usermsg"%>
<html>
<head>
<title>中文乱码——jsp页面传递中文参数时</title>
</head>
<body>
<h2>申请账号:</h2>
<form action="./usermsg" method="post">
<p>邮箱: <input type="text"name="email" id="email"/><p/>
<p>昵称: <input type="text"name="nickname" id="nickname"/><p/>
<p>密码: <input type="password"name="password" id="password"/><p/>
<p>性别: <input type="radio"name="sex" id="sex"value="男" /> 男
<input type="radio" name="sex"id="sex" value="女" /> 女<p/>
<textarea name="introduction"id="introduction" rows="5" cols="27">一句话介绍自己...</textarea>
<p><input type="submit"value="提交申请"></p>
</form>
</body>
</html>
usermsg.java(servlet)
package test;
importjava.io.ioexception;
importjava.io.printwriter;
importjava.io.unsupportedencodingexception;
importjavax.servlet.http.httpservlet;
importjavax.servlet.http.httpservletrequest;
importjavax.servlet.http.httpservletresponse;
public classusermsg extends httpservlet{
public void doget(httpservletrequestrequest,
httpservletresponse response){
dopost(request, response);
}
public void dopost(httpservletrequestrequest,
httpservletresponse response){
try {
request.setcharacterencoding("gb2312");
} catch (unsupportedencodingexceptione) {
e.printstacktrace();
}
printwriter out = null;
try {
out = response.getwriter();
} catch (ioexception e1) {
e1.printstacktrace();
}
out.print("<html>");
out.print("<body>");
out.print("<h2>" +"用户信息:"+ "</h2>");
out.print("<p>"+"邮箱:"+request.getparameter("email")+"<p/>");
out.print("<p>"+"昵称:"+request.getparameter("nickname")+"<p/>");
out.print("<p>"+"密码:"+request.getparameter("password")+"<p/>");
out.print("<p>"+"性别:"+request.getparameter("sex")+"<p/>");
out.print("<p>"+"个人介绍:"+request.getparameter("introduction")+"<p/>");
out.print("</html>");
out.print("</body>");
}
}
运行结果:
解决方法:在dopost中加入:
response.setcontenttype("text/html; charset=gb2312");
以上就是几种常见jsp中文乱码例子及其解决方法,希望能够帮助大家解决jsp中文乱码的问题。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!