当前位置: 代码迷 >> Java Web开发 >> jsp字符存储的一点小疑点。
  详细解决方案

jsp字符存储的一点小疑点。

热度:4116   发布时间:2013-02-25 21:16:15.0
jsp字符存储的一点小问题。。
最近做个jsp小项目,发现提交表单的时候返回值是完整的,但存入数据库中文字符没法保存全部。。


提交后显示的结果是这样的:

恭喜,你已经成功订阅!
您订阅的名字为: 案发生的方法 
您订阅的手机号码为:案发生的方法 
您订阅的地址为:案发生的方法 
您订阅的邮箱为:sssssssssss 
您订阅的种类为:120 

但数据库存入却是这样的:

案发生的
案发生的
案发生的
sssssssssss 
120 

也就是中文保存不完全

这是提交的代码
Java code
public int insert(User user){                                     int count = 0;        Connection conn = null;        PreparedStatement ps = null;        //根据user对象的属性生成sql语句        String sql = "insert into user(tel,username,addr,mail,type,num,yf) values('"+user.getTel()+"','"+user.getUsername()+"','"+user.getAddr()+"','"+user.getMail()+"','"+user.getType()+"','"+user.getNum()+"','"+user.getYf()+"')";        try {            conn = getConnection();            ps = conn.prepareStatement(sql);            count = ps.executeUpdate();        } catch (SQLException e) {            System.out.println("Sql异常2");        }        finally{            if(ps!=null){                try {                    ps.close();                } catch (SQLException e) {                    System.out.println("关闭ps时异常");                }            }            if(conn!=null){                try {                    conn.close();                } catch (SQLException e) {                    System.out.println("关闭conn时异常");                }            }        }        return count;    }


提交后的页面也只是简单的获取
Java code
  恭喜,你已经成功订阅!<br>            您订阅的名字为: <% out.println(request.getParameter("username"));%><br>            您订阅的手机号码为:<%out.println(request.getParameter("tel")); %><br>            您订阅的地址为:<% out.println(request.getParameter("addr"));%><br>               您订阅的邮箱为:<% out.println(request.getParameter("mail"));%><br>           您订阅的种类为:<% out.println(request.getParameter("type"));%><br><br>




为什么中文字符串保存不完全呢?求指导。。。。

------解决方案--------------------------------------------------------
你数据库设定的数据存储为多少位的,如果数据太长的话,就保存不上!
------解决方案--------------------------------------------------------
把这个sql打印下,看你传的值是不是有问题
  相关解决方案