最近做个jsp小项目,发现提交表单的时候返回值是完整的,但存入数据库中文字符没法保存全部。。
提交后显示的结果是这样的:恭喜,你已经成功订阅!
您订阅的名字为: 案发生的方法 
您订阅的手机号码为:案发生的方法 
您订阅的地址为:案发生的方法 
您订阅的邮箱为:sssssssssss 
您订阅的种类为:120 但数据库存入却是这样的:案发生的
案发生的
案发生的
sssssssssss 
120 也就是中文保存不完全这是提交的代码
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;
}提交后的页面也只是简单的获取
  恭喜,你已经成功订阅!<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>为什么中文字符串保存不完全呢?求指导。