Я пытаюсь найти слово Farsi в базе данных MySQL. Таблица заполнена правильно, и я могу видеть и искать слова, используя MySQLWorkbench. Я даже установил JDBC-Performance-Logger и зарегистрировал сгенерированный оператор и вставлял его в MySQLWorkbench, и запись могла быть найдена успешно.PlayFramework и поиск слова Farsi в базе данных MySQL
Моя проблема только в PlayFramework с использованием EBean, которую String не может найти, и каждый раз возвращает пустой результат.
вот мой 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?