<%@ page contentType="text/html;charset=utf-8"%> 
<%@ page import="java.sql.*"%> 
<%
request.setCharacterEncoding("UTF-8"); 
String Title=request.getParameter("Title");
String url="jdbc:mysql://127.0.0.1:3306/"+dbName+"?user="+userName+"&password="+userPasswd+"&useUnicode=true&characterEncoding=utf-8";  try{ 
        Class.forName("org.gjt.mm.mysql.Driver").newInstance();
        Connection conn= DriverManager.getConnection(url); 
        Statement stmt=conn.createStatement();
        stmt.executeUpdate("insert into Notice(Title) values('"+Title+"')");
  stmt.close();
  conn.close();
}catch (SQLException e){
  out.print("error"+e);
}
out.print(Title);
print能正确显示中文,存入mysql后乱码。

解决方案 »

  1.   

    检查一下你的表中的字符集设置。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    character_set gb2312
    character_sets gb2312 big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin1_de latin2 latin5 sjis swe7 tis620 ujis usa7 win1250 win1251ukr win1251
    这个是万网空间提供的数据库,我好像没权限改的。
      

  3.   

    那就改你的代码吧。url="jdbc:mysql://127.0.0.1:3306/"+dbName+"?user="+userName+"&password="+userPasswd+"&useUnicode=true&characterEncoding=gb2312";
      

  4.   

    就不能用utf-8了吗?这样我的代码全都要改了,疯掉了!!!
      

  5.   

    可能是你安装mysql的时候没正确设置语言选项,重新设置一遍,Config Wizard里设置。
      

  6.   

    因为你使用的是mysql 4.0,看样子只能在客户端进行字符集转换了,把utf-8转换成gbk或gb2312。
    这种转换的代码应该很多吧。