PlayFramework 并在 MySQL 数据库中搜索波斯语单词

PlayFramework and Search for a Farsi word in MySQL database

我正在尝试在 MySQL 数据库中搜索波斯语单词。 Table 已正确填写,我可以使用 MySQLWorkbench 查看和搜索其中的单词。我什至设置了 JDBC-Performance-Logger 并记录了生成的语句并将其粘贴到 MySQLWorkbench 中,并且可以成功找到记录。

我的问题只出现在使用 EBean 的 PlayFramework 中,找不到字符串并且每次 returns 都是空结果。

这是我的 application.conf:

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&connectionCollation=utf8_general_ci&characterSetResults=utf8"
db.default.useUnicode=true
db.default.characterEncoding=UTF-8

这是 returns 一个空结果的函数:

final String cityName = "تهران";

final List<City> cities = City.find.where().like("name", "%" + cityName + "%").findList();

//final List<City> cities = City.find.select("name").where().eq("name", cityName).findList();

return ok(toJson(cities));

它生成此 SQL 语句(使用 JDBC-Performance-Logger 找到):

select t0.id c0, t0.name c1, t0.province c2 from city t0 where t0.name like 'تهران' /*setString*/ escape'' 

是否可以在 Play Framework 中搜索波斯语字符?

将连接字符串更改为此已解决问题:

db.default.url="jdbc:mysql://localhost:3306/myDatabase?characterEncoding=UTF-8"