| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 355 人关注过本帖
标题:从键盘键入String类型的数据插入数据库中,为什么乱码?
只看楼主 加入收藏
南山南
Rank: 2
等 级:论坛游民
帖 子:19
专家分:17
注 册:2016-10-19
结帖率:100%
  已结贴   问题点数:10  回复次数:9   
从键盘键入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);
    }

搜索更多相关主题的帖子: 数据库 Date new String 数据 
2019-10-21 09:31
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:138
帖 子:2001
专家分:8909
注 册:2015-3-19
  得分:10 
查查数据库的字符编码
show variables like '%char%'好像是这个命令

知命以下无敌
2019-10-21 09:42
南山南
Rank: 2
等 级:论坛游民
帖 子:19
专家分:17
注 册:2016-10-19
  得分:0 
回复 2楼 林月儿
是utf-8啊,还是乱码
附件: 您没有浏览附件的权限,请 登录注册

哪有什么岁月静好,不过是有人替你负重前行。。。
2019-10-21 19:46
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:138
帖 子:2001
专家分:8909
注 册:2015-3-19
  得分:0 
查查表和表字段的编码呢?
show create table account

知命以下无敌
2019-10-22 09:04
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:138
帖 子:2001
专家分:8909
注 册:2015-3-19
  得分:0 
你有工具直接右击设计表看看设置吧,不用命令行了

知命以下无敌
2019-10-22 09:05
南山南
Rank: 2
等 级:论坛游民
帖 子:19
专家分:17
注 册:2016-10-19
  得分:0 
回复 5楼 林月儿
是这个
ENGINE=InnoDB DEFAULT CHARSET=utf8;

哪有什么岁月静好,不过是有人替你负重前行。。。
2019-10-22 10:22
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:138
帖 子:2001
专家分:8909
注 册:2015-3-19
  得分:0 
字段的呢?下游看不出问题再看上有,打印输入内容看回显是否有问题。

知命以下无敌
2019-10-22 14:40
南山南
Rank: 2
等 级:论坛游民
帖 子:19
专家分:17
注 册:2016-10-19
  得分:0 
回复 7楼 林月儿
已解决,谢谢
我在连接数据库语句的URL后加上了 &characterEncoding=UTF-8

哪有什么岁月静好,不过是有人替你负重前行。。。
2019-10-22 19:17
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:138
帖 子:2001
专家分:8909
注 册:2015-3-19
  得分:0 
嗯,不客气

知命以下无敌
2019-10-22 20:04
快速回复:从键盘键入String类型的数据插入数据库中,为什么乱码?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056592 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved