JSP中文乱码常见3个例子及其解决方法
程序员文章站
2022-05-18 12:52:16
常见3个例子及其解决方法如下
实例一、jsp页面显示时
中文乱...
常见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中文乱码的问题。
上一篇: JSP入门教程之客户端验证、常用输出方式及JSTL基本用法
下一篇: 小米手环2怎么管理身体?