当前位置:首页 > JSP教程 > JSP常见问题

JSP中文乱码常见3个例子及其解决方法

常见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)!

相关教程推荐

其他课程推荐