我编写了一个解析某些网页的html代码的应用程序。我的问题是将数据插入我的mysq数据库。所以例如我想插入ľščťžýáíé,当我看到桌子时,我得到了?š??žýáíé。
我想问题可能是我正在下载的html页面是用cp1250编码的。但数据库是utf8。
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(),"cp1250"));
这就是我下载数据的方式。
您对如何解决此问题有一些想法吗?因为我已经用完了。
编辑:哦,当我将数据写入控制台时(使用System.out,我知道我不应该使用它...... :))然后每个字符都正确显示。
答案 0 :(得分:0)
在连接到mysql之后和任何插入之前发出set names CP1251;
答案 1 :(得分:0)
所以我发现了什么有效。
当我通过JDBC连接到MySQL时,我使用了以下连接字符串
conString = "jdbc:mysql://"+host+"/"+database+"?useUnicode=true&characterEncoding=utf8";
这就是诀窍。我不得不使用?useUnicode=true&characterEncoding=utf8