1

我想问 MYSQL 一个 UTF-8 查询,但它不能正常工作。当我尝试以下查询时,结果确实出现了:

String query = "select * from Terms where Term = 'lol'";

但使用以下查询不会做出响应:

String query = "select * from Terms where Term = 'خدابخش'";

在哪里

'خدابخش'

部分是波斯语和 UTF-8 。请注意,与数据库的连接很好。

4

2 回答 2

4

您可能需要在 JDBC 连接中设置字符编码。如果您使用的是 MySQL JDBC 连接器,您可以使用属性 characterEncoding。有点像这样:

jdbc:mysql://localhost/some_db?useUnicode=yes&characterEncoding=UTF-8

您可能需要阅读连接器 JDBC 文档中有关编码和字符集的参考。

这是提到 MySQL JDBC 连接器使用 characterEncoding 的那个:

连接器 JDBC:使用字符集和 Unicode

于 2012-10-17T22:47:15.353 回答
0

以下一项或多项为真:

  1. 编译您的代码的 Java 编译器设置为使用不同的编码读取源文件,而源文件实际存储在该编码中。换句话说,您的编辑器使用的编码、实际保存文件的编码以及 Java 编译器读取源代码时使用的编码之间存在差异。
  2. 您的数据库未正确设置为接受/存储 Unicode 字符。确保您的数据库设置正确。看起来你正在使用 MySQL。您可能希望使用创建数据库转储mysqldump并见证数据库是如何根据字符集创建的。
于 2012-10-17T22:40:21.370 回答