Получение данных из Vertica с PHP с неправильной кодировкой

Я пытаюсь получить данные из Vertica DB с помощью php odbc_connect, у меня проблема с русским текстом, например, вместо того, чтобы получить этот текст Уютная Я получил \x1A\x1A\x1A\x1A\x1A\x1A

Это моя строка подключения к DNS:

 $dsn = "Driver=Vertica;Server={$host};Port={$port};Database={$database};";
$this->connection = odbc_connect($dsn, $username, $password);

И этот мой файл /etc/vertica.ini (приложение запускается в Debian Jessie):

[Driver]
DriverManagerEncoding=UTF-16
ODBCInstLib = /usr/lib/x86_64-linux-gnu/libodbcinst.so.1
ErrorMessagesPath=/opt/vertica
LogLevel=4
LogPath=/tmp

Я использую Vertica ODBC драйвер 7.2.2-0

Любая идея, как я могу это исправить?

Спасибо !

1

Решение

Временное решение, которое я нашел, — это обернуть поле с помощью функции URI_PERCENT_ENCODE (функция vertica sql), а в php вы делаете urldecode.

переполнение стека

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]