Как я могу изменить кодированный набор символов кальцита по умолчанию? - PullRequest
0 голосов
/ 29 мая 2019

Я использую диспетчер драйверов (например, jdbc: calcite: inline), чтобы получить соединение кальцита и запустить с ним sql, но набор кодированных символов по умолчанию (ISO) кальцита не поддерживает китайские символы, я хочу найти метод дляизменить кодировку набора символов.

Я пробовал следующие два sql:

  1. select * from tb где id = '啊'
  2. select * from tb где id= _UTF16 '啊'

Во-первых, я запускаю sql (выберите * из таблицы tb, где id = '啊') и получаю сообщение об ошибке "org.apache.calcite.runtime.CalciteException: Не удалось кодировать '啊' в наборе символов 'ISO-8859-1' ".

Во-вторых, я добавляю набор символов в sql (выберите * из таблицы, где id = _UTF16 '啊'), но я получаю еще одну ошибку «SqlValidatorException: невозможно применить = к двум различным кодировкам ISO-8859-1 и UTF-16LE».

1 Ответ

0 голосов
/ 29 мая 2019

Вы должны установить для свойства calcite.default.charset любой набор символов, который вы хотите использовать. Тем не менее, я не уверен, что это решит все ваши проблемы. Поддержка других наборов символов действительно находится в стадии разработки. См. это обсуждение в списке рассылки проекта.

...