簡體   English   中英

PlayFramework和在MySQL數據庫中搜索波斯語單詞

[英]PlayFramework and Search for a Farsi word in MySQL database

我正在嘗試在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中搜索波斯語字符嗎?

將連接字符串更改為此已解決了問題:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM