日期:2014-05-20  浏览次数:20717 次

jsp中文乱码
HTML code
<%@ page language="java" contentType="text/html; charset=gbk"
    pageEncoding="gbk"%>
    <%@ page import="java.sql.*" %>
<%
    String action = request.getParameter("action");
    if (action != null&& action.equals("post")) {
        request.setCharacterEncoding("gbk");
        String title = request.getParameter("title");
System.out.println(title);
        String cont = request.getParameter("cont");
        cont = cont.replaceAll("\n","<br>");
        Class.forName("com.mysql.jdbc.Driver");
        String url = "jdbc:mysql://localhost/bbs?user=root&password=root";
        Connection conn = DriverManager.getConnection(url);
        conn.setAutoCommit(false);
        String sql = "insert into article values(null,0,?,?,?,now(),0)";
    
        PreparedStatement psta = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
        psta.setInt(1,-1);
        psta.setString(2,title);
        psta.setString(3,cont);
        psta.executeUpdate();
    
        
        ResultSet rsKey = psta.getGeneratedKeys();
        rsKey.next();
        int key = rsKey.getInt(1);
        rsKey.close();
        String sql1 = "update article set rootid =? where id =?";
        PreparedStatement psta1 = conn.prepareStatement(sql1);
        psta1.setInt(1,key);
        psta1.setInt(2,key);        
        psta1.executeUpdate();
        
        conn.commit();
        conn.setAutoCommit(true);
        
        psta.close();
        psta1.close();
        conn.close();
        response.sendRedirect("ShowArticleTree.jsp");
    }
    
 %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Insert title here</title>
</head>
<body>

 <form action="Post.jsp" method ="post"> 
     <input type="hidden" name="action" value="post">
     <table>
         <tr>
             <td><input type="text" size=80 name="title"/></td>
         </tr>
         <tr>
             <td><textarea cols="80" rows="20" name="cont"></textarea></td>
         </tr>
         <tr>
             <td><input type="submit" value="提交"/></td>
         </tr>
     </table>
 </form>
</body>
</html>

发现插入数据库的中文是乱码,怎么回事?

------解决方案--------------------
探讨
jdbc:mysql://localhost/bbs?user=root&amp;password=root&amp;useUnicode=true&amp;amp;characterEncoding=UTF-8

这样试试