从键盘键入String类型的数据插入数据库中,为什么乱码?
输入中文就乱码,eclipse默认编码格式是utf-8,数据库也是utf-8这是代码
程序代码:
//从这里输入数据 Date time = new Date(System.currentTimeMillis()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = sdf.format(time); String project = Input.getProject(s); String in_money = Input.getIn_money(s); String out_money = Input.getOut_money(s); Account a = new Account(); a.setDate(date); a.setProject(project); a.setIn_money(in_money); a.setOut_money(out_money); Account account = new Account(date, project, in_money, out_money); account.printAccountInfo(); boolean confirm = Input.getConfirm(s); if (confirm) { accountOperation.insertAccount(account); } //把数据插入数据库中 public void insert_DB(Account account) throws ClassNotFoundException, SQLException { // 获得连接 Connection conn = JDBCUtil.getConnection(); // 发送语句 String sql = "insert into account(date,project,in_money,out_money) value(?,?,?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, account.getDate()); pstmt.setString(2, account.getProject()); pstmt.setString(3, account.getIn_money()); pstmt.setString(4, account.getOut_money()); pstmt.executeUpdate(); //System.out.println(account.getProject()); // 关闭连接 JDBCUtil.closeResource(pstmt, conn); }