Конвертировать UTF-8 varchar в bytea с кодировкой latin1 в PostgreSQL - PullRequest
0 голосов
/ 13 января 2012

Я портирую собственный (и старый) алгоритм контрольной суммы из процедуры MySQL на PostgreSQL 8.4.

Вся база данных - UTF-8, но для этого алгоритма мне нужно преобразовать входные данные UTF-8.в байтовое значение с кодировкой latin1.В MySQL переменные могут иметь различную кодировку, и преобразование выполняется на лету.Есть ли в PostgreSQL какая-либо функция для такого преобразования?

Единственная альтернатива, которую я вижу, - написать пользовательскую функцию utf8_convert () C, которая возвращает значение в байтах и ​​использует внутренне iconv () для преобразования ввода в latin1.,Но я хочу избежать таких функций Си.

1 Ответ

2 голосов
/ 13 января 2012

С Строковые функции и операторы :

convert_to(text_in_database,'LATIN1')

Но вы должны быть уверены, что текст может быть закодирован на латинице 1 & mdash; в противном случае вы получите исключение.

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