jsp

位置:IT落伍者 >> jsp >> 浏览文章

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


发布日期:2018年07月15日
 
常见JSP中文乱码例子及其解决方法

JSP开发应用是中文乱码是个比较常见的问题其根源是Web容器默认的字符处理编码是ISO

实例一JSP页面显示时

  1. <html>
  2. <head>
  3. <title>中文乱码——JSP页面显示时</title>
  4. </head>
  5. <body>
  6. <center>
  7. <br/>
  8. <h>木兰辞拟古决绝词柬友</h>
  9. <p>人生若只如初见何事秋风悲画扇</p>
  10. <p>等闲变却故人心却道故人心易变</p>
  11. <p>骊山语罢清宵半泪雨霖铃终不怨</p>
  12. <p>何如薄幸锦衣郎比翼连枝当日愿</p>
  13. </center>
  14. </body>
  15. </html>

运行结果

解决方法为其指定中文字符集<html>前加入

  1. <%@pagecontentType="text/html;charset=gb"%>

实例二JSP页面传递中文参数时

注册页面

  1. <%@pagecontentType="text/html;charset=gb"%>
  2. <html>
  3. <head>
  4. <title>中文乱码——JSP页面传递中文参数时</title>
  5. </head>
  6. <body>
  7. <h>申请账号</h>
  8. <formaction="userMsgjsp"method="POST">
  9. <p>邮箱&nbsp;<inputtype="text"name="email"id="email"/><p/>
  10. <p>昵称&nbsp;<inputtype="text"name="nickname"id="nickname"/><p/>
  11. &n

bsp;<p>密码&nbsp;<inputtype="password"name="password"id="password"/><p/>

  • <p>性别&nbsp;<inputtype="radio"name="sex"id="sex"value="男"/>男
  • <inputtype="radio"name="sex"id="sex"value="女"/>女<p/>
  • <textareaname="introduction"id="introduction"rows=""cols="">一句话介绍自己</textarea>
  • <p><inputtype="submit"value="提交申请"></p>
  • </form>
  • </body>
  • </html>

个人信息页面

  1. <%@pagecontentType="text/html;charset=gb"%>
  2. <html>
  3. <head>
  4. <title>中文乱码——JSP页面传递中文参数时</title>
  5. </head>
  6. <body>
  7. <center>
  8. <h>用户信息</h>
  9. <%Stringemail=requestgetParameter("email");%>
  10. <%Stringnickname=requestgetParameter("nickname");%>
  11. <%Stringpassword=requestgetParameter("password");%>
  12. <%Stringsex=requestgetParameter("sex");%>
  13. <%Stringintroduction=requestgetParameter("introduction");%>
  14. <p>邮箱&nbsp;<

;%outprint(email);%><p/>

  • <p>昵称&nbsp;<%outprint(nickname);%><p/>
  • <p>密码&nbsp;<%outprint(password);%><p/>
  • <p>性别&nbsp;<%outprint(sex);%><p/>
  • <p>个人介绍<%outprint(introduction);%></p>
  • </center>
  • </body>
  • </html>

运行结果

解决方法修改个人信息页面如下

  1. <%@pagecontentType="text/html;charset=gb"%>
  2. <html>
  3. <head>
  4. <title>中文乱码——JSP页面传递中文参数时</title>
  5. </head>
  6. <body>
  7. <h>用户信息</h>
  8. <%Stringemail=newString(requestgetParameter("email")getBytes("ISO")"gb");%>
  9. <%Stringnickname=newString(requestgetParameter("nickname")getBytes("ISO")"gb");%>
  10. <%Stringpassword=newString(requestgetParameter("password")getBytes("ISO")"gb");%>
  11. <%Stringsex=newString(requestgetParameter("sex")getBytes("ISO")"gb");;%>
  12. <%Stringintroduction=newString(requestgetParameter("introduction")getBytes("ISO")"gb");;%>
  13. <p>邮箱<%outprint(email);%><p/>
  14. &


lt;p>昵称<%outprint(nickname);%><p/>

  • <p>密码<%outprint(password);%><p/>
  • <p>性别<%outprint(sex);%><p/>
  • <p>个人介绍<%outprint(introduction);%></p>
  • </body>
  • </html>

实例三Servlet处理中文参数时

注册页面

  1. <%@pagecontentType="text/html;charset=gb"%>
  2. <%@pageimport="testUserMsg"%>
  3. <html>
  4. <head>
  5. <title>中文乱码——JSP页面传递中文参数时</title>
  6. </head>
  7. <body>
  8. <h>申请账号</h>
  9. <formaction="/UserMsg"method="POST">
  10. <p>邮箱<inputtype="text"name="email"id="email"/><p/>
  11. <p>昵称<inputtype="text"name="nickname"id="nickname"/><p/>
  12. <p>密码<inputtype="password"name="password"id="password"/><p/>
  13. <p>性别<inputtype="radio"name="sex"id="sex"value="男"/>男
  14. <inputtype="radio"name="sex"id="sex"value="女"/>女<p/>
  15. <textareaname="introduction"id="introduction"rows=""cols="">一句话介绍自己</textarea>
  16. <p><inputtype="submit"value="提交申请"></p>
  17. &nb


sp;</form>

  • </body>
  • </html>

UserMsgjava(Servlet)

  1. packagetest;
  2. importjavaioIOException;
  3. importjavaioPrintWriter;
  4. importjavaioUnsupportedEncodingException;
  5. importjavaxservlet
  6. importjavaxservlet
  7. importjavaxservlet
  8. publicclassUserMsgextendsHttpServlet{
  9. publicvoiddoGet(HttpServletRequestrequest
  10. HttpServletResponseresponse){
  11. doPost(requestresponse);
  12. }
  13. publicvoiddoPost(HttpServletRequestrequest
  14. HttpServletResponseresponse){
  15. try{
  16. requestsetCharacterEncoding("gb");
  17. }catch(UnsupportedEncodingExceptione){
  18. eprintStackTrace();
  19. }
  20. PrintWriterout=null;
  21. try{
  22. out=responsegetWriter();
  23. }catch(IOExceptione){
  24. eprintStackTrace();
  25. }
  26. outprint("<html>");
  27. &nbs


p;outprint("<body>");

  • outprint("<h>"+"用户信息"+"</h>");
  • outprint("<p>"+"邮箱"+requestgetParameter("email")+"<p/>");
  • outprint("<p>"+"昵称"+requestgetParameter("nickname")+"<p/>");
  • outprint("<p>"+"密码"+requestgetParameter("password")+"<p/>");
  • outprint("<p>"+"性别"+requestgetParameter("sex")+"<p/>");
  • outprint("<p>"+"个人介绍"+requestgetParameter("introduction")+"<p/>");
  • outprint("</html>");
  • outprint("</body>");
  • }
  • }

运行结果

解决方法在doPost中加入

  1. responsesetContentType("text/html;charset=gb");

上一篇:jsp连接MySQL实现插入insert操作功能示例

下一篇:Jsp中的自定义标签由浅到深详细讲解[1]