Назад | Перейти на главную страницу

Есть ли способ заставить PostgreSQL использовать кодировку UTF-7 для соединения?

У меня есть база данных PostgreSQL, в которой используется загадочная кодировка текста, и я не могу это изменить. Есть ли способ сохранить текст в UTF-7 прозрачно (для информированного клиента), чтобы ядро ​​базы данных не жаловалось на то, что он не может преобразовывать символы Unicode, но клиент все еще может использовать любые символы Unicode там? Я могу выполнить это преобразование вручную, но я надеюсь, что есть способ сделать это без ручного преобразования.

Ты можешь использовать SQL_ASCII, который сообщает базе данных о прозрачной передаче байтов для текста без какой-либо проверки или преобразования.

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

Альтернативой может быть добавление поддержки utf-7 в PostgreSQL. Это может быть не слишком сложно, так как вся обработка кодирования довольно хорошо абстрагирована.