2010-06-11 42 views
0

我已经编写了一个应用程序来解析某些网页的html代码。我的问题是将这些数据插入到我的mysq数据库中。例如,我想插入čščťžýáíé,当我看到我得到的表格?š??žýáíé。从java应用程序插入到mysql数据库时的字符集问题

我想问题可能是我下载的html页面是用cp1250编码的。但数据库是utf8。

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(),"cp1250")); 

这就是我如何下载数据。

你有一些想法如何解决这个问题?因为我已经跑完了。

编辑:哦,当我将数据写入控制台(使用System.out,我知道我不应该使用它... :)),那么每个字符都显示正确。

+0

你如何看待表格?确保你用来查看数据库中的内容的程序是否已将字符集设置为utf-8 – 2010-06-11 08:53:14

+0

我使用phpmyadmin,并且我确信它支持utf8,但是我有预感,插入时出现一些错误... like我的Java应用程序没有正确地转换这些字符或以某种方式连接配置错误,我无法弄清楚它有什么问题。 – Gabriel 2010-06-11 14:50:40

回答

0

之前,所以我发现了什么工作。

,因为我通过JDBC连接到MySQL我用下面的连接字符串

conString = "jdbc:mysql://"+host+"/"+database+"?useUnicode=true&characterEncoding=utf8"; 

而且这并获得成功。我不得不强迫JDBC使用utf8进行连接使用?useUnicode=true&characterEncoding=utf8

0

问题上set names CP1251;刚过你连接到MySQL和任何插入

+0

尝试过,但某些字符无法正确显示 – Gabriel 2010-06-11 14:47:21

相关问题