1

我在使用JDBC (mysql-connector-java-5.1.18-bin.jar)从Mysql 5.1获取数据时遇到问题。

我的插入语句是这样的:

    INSERT INTO Categories  VALUES ('01','Matières premières');

Netbeans终端和 Swing 接口的输出如下所示:

    MatiŠres premiŠres

我认为我需要指定编码参数。

你能帮忙吗?

ps:操作系统是Windows 7 French。

这是我在类连接中到数据库的 url:

    DriverManager.getConnection("jdbc:mysql://X.X.X.X:XXXX/XXXX?useUnicode=yes&characterEncoding=UTF-8","XXXX","XXXX");
4

2 回答 2

1

两种解决方案:

  • 最理智的一个:将您的表设置为用作排序规则“utf8-general-ci”并将mysql设置为使用相同的排序规则进行连接。所以你不会有任何问题,也不需要在使用 jdbc 连接时指定任何内容。

  • 另一个,现在几乎不能接受但可能:确定表的排序规则并使用它在 JDBC 中配置连接,如下所述:http: //dev.mysql.com/doc/refman/5.0/en/connector-j -reference-charsets.html。但是您必须知道表格的编码是什么(因为您不知道,如果您在法国,它可能是 Latin1)。

要确定或更改表的编码,您可以使用任何 mysql 管理工具。确保表格和连接保持一致。

于 2012-09-06T13:16:51.317 回答
0

您必须使用 System.setProperty("file.encoding", "ISO-8859-1") 将编码设置为 ISO-8859-1

于 2014-05-12T12:46:06.910 回答