首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp+tomcat+sql server2000 无法插入中文,在线急等!解决方法

2012-02-10 
jsp+tomcat+sql server2000 无法插入中文,在线急等!!!源码如下:%@pagecontentType text/htmlcharsetg

jsp+tomcat+sql server2000 无法插入中文,在线急等!!!
源码如下:
<%@   page   contentType= "text/html;   charset=gb2312 "   language= "java "   import= "java.sql.*,java.io.* "%>
<html>
<body>
<center>
往数据库中添加数据: <hr>

<%
      try
      {
     
        //装载驱动程序
      Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance();
   
      //创建连接
        Connection   con=java.sql.DriverManager.getConnection( "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev ", "bn ", "bn ");
      //创建执行语句。
      //===========================使用PreparedStatement========//
        PreparedStatement   pstmt=con.prepareStatement( "insert   into   contact   values(?,?,?,?,?,?) ");
        //=====================//
        pstmt.setString(1, "王小华 ");
        pstmt.setInt(2,136234234);
        pstmt.setString(3, "010455554 ");
        pstmt.setString(4, "lxh@some.com ");
        pstmt.setDate(5,new   java.sql.Date(new   java.util.Date().getTime()));
        pstmt.setString(6, "很久没有联系了 ");
          pstmt.execute();
        //=======================//这里插入中文都是乱码!!!!!!!!******************
        pstmt.setString(1, "刘玲玲 ");
          pstmt.setInt(2,136234234);
        pstmt.setString(3, "010455554 ");
        pstmt.setString(4, "lxh@some.com ");
        pstmt.setDate(5,new   java.sql.Date(new   java.util.Date().getTime()));
        pstmt.setString(6, "很久没有联系了 ");
          pstmt.execute();
        //=======================//
        pstmt.setString(1, "李小华 ");
        pstmt.setInt(2,136234234);
        pstmt.setString(3, "010455554 ");
        pstmt.setString(4, "lxh@some.com ");
        pstmt.setDate(5,new   java.sql.Date(new   java.util.Date().getTime()));
        pstmt.setString(6, "很久没有联系了 ");
        //执行插入数据操作。
        pstmt.execute();
        pstmt.close();
        //===========================使用Statement========//
        Statement   stmt=con.createStatement();
        //一次添加一行数据
        ***********************这里插入中文,正常。
        stmt.execute( "insert   into   contact(userName,mobile)   values( '陈军 ',136555555) ");
        *************************************

        out.println( "添加数据成功 ");
      //关闭连接、释放资源
       
        stmt.close();
        con.close();
        }


        catch(Exception   e)
        {
              e.printStackTrace();
              }
        %>        
<center>
</body>
</html>
       
       


[解决办法]
加上这句试试
<%
request.setCharacterEncoding( "gb2312 ")
%>
[解决办法]
采用UTF-8编码
[解决办法]
没象你这么写过,我都是在后台提交给数据库的,你试验一下,调用后台类的方式添加看看
[解决办法]
一律 utf-8

[解决办法]
建个类名为chet 代码如下:
public class chet implements Filter{
public void init(FilterConfig arg0) throws ServletException {
// TODO 自动生成方法存根
}
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException {
// TODO 自动生成方法存根
arg0.setCharacterEncoding( "GBK ");
arg2.doFilter(arg0,arg1);
}
public void destroy() {
// TODO 自动生成方法存根
}
}

在web.xml加上如下代码:

<filter>
<filter-name> fff </filter-name> //(fff 是随便命个名)
<filter-class> chet存放的路径 </filter-class> //(如chet是存放在com包下 com.chet)
</filter>

<filter-mapping>
<filter-name> fff </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>
这样子试试看。。

[解决办法]
首先确认下

数据库内的内容是不是乱码

如果是的话

在页面上要统一一下使用的字符集

来保证与数据库内的字符集一致

热点排行