逃避MySQL JDBC连接器的问题

时间:2012-03-07 04:42:56

标签: java mysql jdbc

所以我正在尝试将博客评论输入数据库以进行NLP实验,但我遇到了一些问题:我在插入时使用了准备语句,但所有单引号都变成了问号。

我正在测试OS X并且不知道字符编码:我认为它是默认的isn_swedish等,但经过几个小时的分散谷歌搜索后,我无法弄清楚如何确定它。我提交的内容像“我没有说那样”作为

的参数
PreparedStatement statement = connect.prepareStatement("INSERT IGNORE INTO bwog.article (article_id, date, title, content, url) VALUES (?, ?, ?, ?, ?)");
...
...
String s = "I didn't say that"; //not literal string, but printlns like this
statment.setString(4, s);

并且在执行之后它在数据库中变成了“我没有说出来”这一切。

我认为这是某种假设问题,我不知道或忘记履行某些先决条件。

解决方案:这是字符编码。数据库和表格都是UTF-8,但所有“character_set%”变量的命令行连接都在latin1中,所以即使数据很好,它也显得乱码。

1 个答案:

答案 0 :(得分:0)

要从“未答复”过滤器中删除此内容...

预测:您的问题是字符编码。我敢打赌你的数据库和表格都是UTF-8,但是所有“character_set%”变量的命令行连接都是latin1,所以即使数据很好,它也会出现乱码。