我写了个方法 写入数据库一个记录,可是有一个属性竟然出现问号,但是用拼音就不会。附上代码:
  public void insertclass(int s1,String s2,int num){
   String sql="insert into classtable values(?,?,0,?)";
   try {
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1,s1 );
statement.setString(2,s2);
statement.setInt(3,num);
statement.executeUpdate();
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();

   }

解决方案 »

  1.   

    数据库编码是什么的?建议使用UTF-8。
      

  2.   

    什么数据库?mysql请:
    <param name="url"
    value="jdbc:mysql://192.168.8.4:3306/iplugserver?characterEncoding=utf8" />

    后面的utf8,改为与你的数据库编码一致。
      

  3.   

    我哦是UTF8的 但是我连接数据库没用这句jdbc:mysql://192.168.8.4:3306/iplugserver?characterEncoding=utf8
    这是必须的吗
      

  4.   

    编码不一致,假如你原来的中文字使用A编码方式,数据库使用B编码方式,如果A是2个字节一个字,B是3个字节一个字,如果数据库按3个字节去取你送到数据库的数据,是不是出现奇怪的字.这就出现乱码了http://www.javaeye.com/topic/14980你看看这篇文章. 如果不懂,看看编码的基础知识. 
      

  5.   

    是编码问题,把数据库的编码,表的编码,甚至每个字段的编码都用UTF-8,你的提交页面,java文件都要用UTf-8
      

  6.   

      既然s2是字符串,是不是应该先把它转化为整形呢,然后再用setint