【问题标题】:PlayFramework and Search for a Farsi word in MySQL databasePlayFramework 和在 MySQL 数据库中搜索波斯语单词
【发布时间】:2015-11-17 21:05:44
【问题描述】:

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

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

这是我的 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

这是返回空结果的函数:

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 中搜索波斯语字符?

【问题讨论】:

    标签: java mysql playframework ebean playframework-2.4


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多