Невозможно выбрать данные Unicode из PostgreSQL с помощью LIKE - PullRequest
0 голосов
/ 02 марта 2010

У меня есть база данных PostgreSQL с некоторыми значениями Unicode. Например "вайшали" в маратхи. Я хочу запустить запрос SELECT * FROM table WHERE name LIKE vaishali (я набираю «vaishali» на маратхи, поэтому сначала я конвертирую в юникод в своей проге) Но это ничего не соответствует. Почему?

1 Ответ

1 голос
/ 02 марта 2010

Есть две возможные причины этой проблемы:

  1. Драйверу JDBC не предписано использовать UTF-8. Это на самом деле было бы ошибкой, поскольку предполагалось, что она автоматически выберет правильную кодировку символов из метаданных БД. По моему опыту, драйверы PostgreSQL JDBC всегда хорошо справлялись с этим.

  2. SQL-запрос на самом деле неправильно построен / сформулирован. Тот, который вы опубликовали, уже синтаксически недействителен. Пожалуйста, отправьте фактический код и запрос. Кроме того, вы, кажется, настаиваете, что это происходит только с запросом LIKE. Как насчет обычного WHERE name = 'foo' запроса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...