读取数据库没有乱码,在jsp页面写入数据库存在乱码“?”
页面jsp提交数据到另一jsp页面处理数据库!
<%@page pageEncoding = "GB18030" %>
<%@page import = "com.bbs.dao.DB" %>
<%@page  import = "java.sql.*"%>
<%@page import = "com.bjsx.bean.*" %>
<% 
int id = Integer.parseInt(request.getParameter("id"));
int rootid = Integer.parseInt(request.getParameter("rootid"));
Article a = null;Connection conn = DB.getConnection();
String sql = "select*from article where id = "+id;
Statement stat = DB.getStatement();
ResultSet rs = stat.executeQuery(sql);
if(rs.next()) {
    a = new Article();
    a.initFromRs(rs);
}DB.close(rs);
DB.close(stat);
DB.close(conn);
if(a == null) {
%>
    你寻找的帖子不存在!
<%
    return;
}
%>     
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0066)http://www.chinajavaworld.com/thread.jspa?threadID=693566&tstart=0 -->
<HTML><HEAD><TITLE>论坛: <%=a.getTitle() %></TITLE>
<META http-equiv=content-type content="text/html; charset=UTF-8"><LINK 
href="images/style.css" type=text/css rel=stylesheet><LINK 
title=RSS 
href="http://bbs.chinajavaworld.com/rss/rssmessages.jspa?threadID=693566" 
type=application/rss+xml rel=alternate>
<SCRIPT language=JavaScript src="images/prototype.js" 
type=text/javascript></SCRIPT><SCRIPT language=JavaScript src="images/effects.js" 
type=text/javascript></SCRIPT><SCRIPT language=JavaScript src="images/engine.js" 
type=text/javascript></SCRIPT><SCRIPT language=JavaScript src="images/util.js" 
type=text/javascript></SCRIPT><SCRIPT language=JavaScript src="images/TagValidator.htm" 
type=text/javascript></SCRIPT><SCRIPT language=JavaScript src="images/tag-validator.js" 
type=text/javascript></SCRIPT><SCRIPT type=text/javascript>
            // i18n error message
            tagHandlerMessage = "至少有一个标签出错,请确认标签非数字而且少于 10 个字符";
        </SCRIPT><META content="MSHTML 6.00.2900.3492" name=GENERATOR></HEAD>
<BODY>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD width="1%"><A href="http://www.chinajavaworld.com/index.jspa"><IMG 
      height=38 alt=JAVA中文世界论坛|JAVA开发者论坛 
      src="images/header-left.gif" width=199 border=0></A></TD>
    <TD width="98%"><IMG height=38 alt="" 
      src="images/header-stretch.gif" width="100%" border=0></TD>
    <TD width="1%"><IMG height=38 alt="" 
      src="images/header-right.gif" width=5 
border=0></TD></TR></TBODY></TABLE><BR>
    <BR>
    <P id=jive-breadcrumbs><EM><A 
href="http://www.chinajavaworld.com/index.jspa?categoryID=1">论坛主页</A> » <A 
href="http://www.chinajavaworld.com/category.jspa?categoryID=2">Java 2 Platform, 
Standard Edition (J2SE)</A> » <A 
href="http://www.chinajavaworld.com/forum.jspa?forumID=20&amp;start=0">Java语言*初级版</A> 
</EM></P>
<P class=jive-page-title>主题:回复<%=a.getTitle() %> </P>
<P class=jive-description></P>
<DIV id=jive-flatpage>
<DIV class=jive-buttons>
<TABLE cellSpacing=0 cellPadding=0 summary=Buttons border=0>
  </TABLE></DIV><BR>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR vAlign=top>
    <TD width="100%"><DIV id=jive-message-holder>
      <DIV class=jive-message-list>
      <DIV class=jive-table>
      <DIV class=jive-messagebox>
      <TABLE cellSpacing=0 cellPadding=0 width="100%" summary=Message 
        border=0><TBODY>
        <TR class=jive-even id=jive-message-704438 vAlign=top>
          <TD class=jive-first width="1%">
  <form action="replyDeal.jsp" method="post" >
              <input type="hidden" name ="pid" value=<%=id %> >
              <input type="hidden" name = "rootid" value=<%=rootid %> >
  标题:<input type="text" name = "title"><br>
  内容:
  <textarea name="cont" cols="80" rows="15"  ></textarea>
  <center><input type="submit" value="提交"></center> 
  </form>   </TD>
          </TR></TBODY></TABLE>
      </DIV></DIV></DIV>
      <DIV class=jive-message-list-footer>
      <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD align=middle width="64%">
            <TABLE border=0 align="center" cellPadding=0 cellSpacing=0>
              <TBODY>
              <TR>
                <TD><A 
                  href="http://www.chinajavaworld.com/forum.jspa?forumID=20"><IMG 
                  height=16 alt=返回主题列表 hspace=6 
                  src="images/arrow-left-16x16.gif" width=16 
                  border=0></A> </TD>
                <TD><A 
                  href="article.jsp">返回主题列表</A>                </TD></TR></TBODY></TABLE></TD>
          </TR></TBODY></TABLE>
      </DIV></DIV></TD></TR></TBODY></TABLE>
</DIV>
<BR><BR>
</BODY></HTML>

解决方案 »

  1.   

    处理jsp数据库代码:
    <%@ page language="java" import="java.util.*" pageEncoding="GBK"  contentType="text/html; charset=GBK"%>
    <%@page import="java.sql.*, com.bbs.dao.*,com.bjsx.bean.*,com.bbs.filters.*"  %>
    <%
    int pid = Integer.parseInt(request.getParameter("pid"));
    int rootid = Integer.parseInt(request.getParameter("rootid"));
    request.setCharacterEncoding("gbk");
    String title = request.getParameter("title");
    System.out.println(new String(title.getBytes("ISO-8859-1"),"GBK"));
    String cont = request.getParameter("cont");
    System.out.println(cont);
    Connection conn = DB.getConnection();
    Statement sta = DB.getStatement();
    String sql = "insert into article values (null,?,?,?,?,now(),?)";
    PreparedStatement pstat = DB.preparedStat(sql);
    pstat.setInt(1,pid);
    pstat.setInt(2,rootid);
    pstat.setString(3,title);
    out.println(title);
    pstat.setString(4,cont);
    out.println(cont);
    pstat.setInt(5,0);
    pstat.executeUpdate();
    DB.close(pstat);
    DB.close(conn);
     %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'replyDeal.jsp' starting page</title>
        
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->  </head>
      
      <body>
       恭喜你保存成功! <br>
      </body>
    </html>
      

  2.   

    还有我的Mysql6.0版本 驱动5.1.7;
    读取数据库是不存在乱码的 只有数据库乱码 ,读取才是乱码!
      

  3.   

    设置MySQL数据库默认的字符集了吗?
      

  4.   

    为了使mysql正确显示中文,需要修改mysql的默认字符集为gb2312,使JSP和mysql的字符集相同。修改msyql的配置文件my.ini中的mysqld和mysql下的default-character-set选项。
    [mysqld]
    default-character-set=gb2312
    [mysql]
    default-character-set=gb2312