常见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>邮箱:nbsp;input type="text"name="email" id="email"/>p/>
p>昵称:nbsp;input type="text"name="nickname" id="nickname"/>p/>
p>密码:nbsp;input type="password"name="password" id="password"/>p/>
p>性别:nbsp;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>邮箱:nbsp;% out.print(email); %>p/>
p>昵称:nbsp;% out.print(nickname); %>p/>
p>密码:nbsp;% out.print(password); %>p/>
p>性别:nbsp;% 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中文乱码的问题。
您可能感兴趣的文章:- jsp用过滤器解决中文乱码问题的方法
- JSP对URL链接中的中文乱码处理方法总结
- JSP利用过滤器解决request中文乱码问题
- JSP页面中超链接传递中文参数出现乱码问题解决方法
- 分享JSP中文乱码解决方法
- JSP页面传参出现中文乱码的解决方案
- jsp之间传参数接受中文有乱码问题解决方法
- jsp地址栏传中文显示乱码解决方法分享
- JSP出现中文乱码问题解决方法详解