为什么我直接在servlet里面直接输出message不乱码,而跳转到web页面就出现乱码,而且存到数据库的也是乱码,我尝试了网上的各种方法,还是不成功。。

public class HandleRegister extends HttpServlet
{   public void init(ServletConfig config) throws ServletException{ super.init(config);try {  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(Exception e){} }public String handleString(String s){   try{ byte bb[]=s.getBytes("iso-8859-1");s=new String(bb);}catch(Exception ee){} return s;  }public  void  doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{   response.setHeader("content-type","text/html;charset=UTF-8");PrintWriter out=response.getWriter();Connection con; PreparedStatement sql;Register reg=new Register(); request.setAttribute("register",reg);String logname=request.getParameter("logname").trim(),password=request.getParameter("password").trim(),sex=request.getParameter("sex").trim(),email=request.getParameter("email").trim(),phone=request.getParameter("phone").trim(),message=request.getParameter("message");message= new String( message.getBytes("ISO-8859-1"),"gb2312");out.println(message);sex= new String( sex.getBytes("ISO-8859-1"),"gb2312");out.println(sex);int age=Integer.parseInt(request.getParameter("age").trim());String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Student";if(logname==null)logname="";if(password==null)password="";boolean isLD=true;for(int i=0;i<logname.length();i++){  char c=logname.charAt(i);if(!((c<='z'&&c>='a')||(c<='Z'&&c>='A')||(c<='9'&&c>='0'))) isLD=false;} boolean boo=logname.length()>0&&password.length()>0&&isLD;String backNews="";try{ con=DriverManager.getConnection(uri,"sa","sa");String insertCondition="INSERT INTO member VALUES (?,?,?,?,?,?,?,?)";sql=con.prepareStatement(insertCondition);if(boo){ sql.setString(1,handleString(logname));sql.setString(2,handleString(password));sql.setString(3,handleString(sex));sql.setInt(4,age);sql.setString(5,phone);sql.setString(6,email);sql.setString(7,handleString(message));sql.setString(8,"public.jpg");int m=sql.executeUpdate();if(m!=0){  backNews="注册成功";reg.setBackNews(backNews);reg.setLogname(logname);reg.setPassword(handleString(password));reg.setAge(age);reg.setSex(handleString(sex));reg.setEmail(handleString(email));reg.setPhone(phone);reg.setMessage(handleString(message));}}else{  backNews="信息填写不完整或名字中有非法字符";reg.setBackNews(backNews);  }con.close();}catch(SQLException exp){  backNews="该会员名已被使用,请您更换名字"+exp;reg.setBackNews(backNews); }RequestDispatcher dispatcher= request.getRequestDispatcher("/ptext/User/showRegisterMess.jsp");dispatcher.forward(request, response);}public  void  doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{   doPost(request,response);}
}

jsp页面:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<%request.setCharacterEncoding("gb2312");%>
</head><BODY><Font size=2>
<CENTER>
<FORM action="helpRegister" name=form method="post">
<BR>输入您的信息,会员名字必须由字母和数字组成,带*号项必须填写。
<table><tr><td>会员名称:</td> <td><Input type=text name="logname" >*</td></tr><tr><td>设置密码:</td><td><Input type=password name="password">*</td></tr><tr><td>性别:</td><td><Input type=radio  name="sex" checked="o" value="男">男<Input type=radio  name="sex" value="女">女</td></tr><tr><td>会员年龄:</td><td><Input type=text name="age" value="0"></td></tr><tr><td>电子邮件:</td><td><Input type=text name="email"></td></tr><tr><td>联系电话:</td><td><Input type=text name="phone"></td></tr></table><table><tr><td>输入您的个人简介:</td></tr><tr><td><TextArea name="message" Rows="6" Cols="30"></TextArea></td></tr><tr><td><Input type=submit name="g" value="提交"></td> </tr>
</table>
</Form></CENTER>
</BODY>
</html>

显示页面:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<%@ page import="mybean.data.Register"%>
<jsp:useBean id="register" type="mybean.data.Register" scope="request" />
</head>
<BODY bgcolor=cyan><Font size=2>
<CENTER><Font size=4 color=blue >
<jsp:getProperty name="register"  property="backNews"  /></Font>
<Font size=2><table><tr><td>注册的会员名称:</td><td><jsp:getProperty name="register" property="logname" /></td></tr><tr><td>注册的性别:</td> <td><jsp:getProperty name="register" property="sex" /></td></tr><tr><td>注册的会员年龄:</td><td><jsp:getProperty name="register" property="age" /></td></tr><tr><td>注册的电子邮件:</td><td><jsp:getProperty name="register" property="email" /></td></tr><tr><td>注册的联系电话:</td><td><jsp:getProperty name="register" property="phone" /></td></tr>
</table><table><tr><td>您输入的个人简介:</td></tr><tr><td><TextArea name="message" Rows="6" Cols="30">
<jsp:getProperty name="register" property="message" /></TextArea></td></tr>
</table>
</FONT></CENTER>
</BODY>
</html>

为什么我直接在servlet里面直接输出message不乱码,而跳转到web页面就出现乱码,而且存到数据库的也是乱码,我尝试了网上的各种方法,还是不成功。。相关推荐

  1. RedisDesktopManager死活连接不上,网上的各种方法都失败了,可能于网络策略配置有关!!!

    RedisDesktopManager死活连接不上,网上的各种方法都失败了,可能于网络策略配置有关!!! ** PS:如果你尝试了网上其他的方法都失败了,那请试一下这个方法** 在保证redis端口能 ...

  2. 用PrintWriter解决proxool servlet的中文输出问题

    用PrintWriter解决servlet的中文输出问题 在Java的Servlet中用ServletOutputStream.print()方法输出中文会有问题,如 ServletOutputStr ...

  3. 交叉工具链的搭建方法(测试成功)

    之前安装了一个rehat6的linux系统,把交叉编译搭建给忽视了,结果在编译uboot的时候出现问题,显示找不到arm-linux-gcc.于是自己来搭建交  叉编译环境.出现好多错.先是解压时没在 ...

  4. win10下卸载office2010(测试多种方法后,成功实现)

    问题 在win10的控制面板中,无法正常卸载office2010,在应用和功能中选择了卸载office2010后,电脑就会自动重启 然后自己尝试了以下几种方法 1.使用微软的提供的Microsoft ...

  5. ci框架 乱码 mysql_mysql设置utf8_unicode_ci字符集php页面输出??乱码的解决方法

    mysql设置utf8_unicode_ci字符集php页面输出??乱码的解决方法 作者:吕海鹏 文章来源:itstudy原创 发表时间:2008-10-18 11:15:08 阅读次数:今日:5 本 ...

  6. steam需要在线更新请确认您的网络连接 解决方法(必成功)

    steam需要在线更新请确认您的网络连接 解决方法(必成功) steam最近出现问题如图 解决方法 steam最近出现问题如图 解决方法 改为迅雷云盘下载(7月25日已更新) 链接:https://p ...

  7. Gstreamer推送摄像头数据到RTMP服务器的方法(SRS成功示例)

    最近在研究如何将Linux中的视频数据推送到流媒体服务器,看到gstreamer还比较不错,于是试了一下 服务端用的SRS,RTMP推流,搭建非常简单,教程可参考:https://blog.csdn. ...

  8. 为Android购买多个改装微信,分享外面高价售卖的修改微信号方法 亲测成功 仅限安卓手机...

    分享外面在高价售卖的微信号修改方法 亲测成功 仅限安卓手机 这个方法今天在外面看到很多人在代修改,转卖方法!小编觉得还是有必要发出来让大家去动手尝试一下! 实际上这个修改微信号的功能在内测版微信就可以 ...

  9. python web页面输出_python+socket+jq实现web页面实时输出结果

    例如有这样一个需求: 在终端上进行ping操作,现在想把这个这个操作放到web页面上进行,并且实现实时输出的效果. 来分析下具体实现过程 第一步,传统的http请求实现这个有点不太友好,因为这里边是一 ...

最新文章

  1. 多媒体应用-swift
  2. 99%网工都会遇到的10道经典面试问题
  3. iOS编程上获取本地时间以及星期几时间
  4. Linux 内存机制
  5. 火狐导cookie文件没反应_效率指南|实操区分FireFox火狐的国内版和国际版
  6. python 漂亮界面demo_在这个什么都看脸的时代,如何用 GUI 提高 python 程序的颜值?...
  7. ES6学习(八)—Promise对象 超鸡重要
  8. ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME
  9. 计算机毕业设计中用Java 实现系统权限控制
  10. X 射线成像 新型数字技术 —— CMOS 探测器
  11. 基于OSSIM平台下华为交换机日志收集插件的开发
  12. 国内学术期刊名录·2012 年版
  13. 不用找,你想要的简约ppt模板素材都在这里
  14. C语言笔记 · ASCII码表
  15. Laravel框架之微信授权获取用户信息
  16. 电子数据取证-流程与技术
  17. c#推箱子小游戏代码_C# 简单推箱子游戏源码
  18. Win10上装SAS
  19. linux宝塔如何开启gzip,宝塔面板nginx gzip压缩率设置多少合适
  20. 事件(一)绑定与解除事件

热门文章

  1. GC算法-增量式垃圾回收
  2. 【java机器学习】决策树算法
  3. 手把手教你写平衡二叉树
  4. 数据结构实验之图论七:驴友计划
  5. Flink 1.9 CDH 6.3 集成
  6. Snowflake核心技术解读系列——架构设计
  7. 云数据仓库的未来趋势:计算存储分离
  8. 支付宝的商业与技术创新双轮驱动 创造数字时代普惠金融“奇迹”
  9. 实践 | Sentinel 扩展性设计
  10. Java小白进阶笔记(3)-初级面向对象