Есть ли способ заставить PostgreSQL использовать кодировку UTF-7 для соединения?
У меня есть база данных PostgreSQL, которая использует загадочную кодировку текста, и я не могу это изменить. Есть ли способ прозрачного хранения текста в UTF-7 (для информированного клиента), чтобы ядро базы данных не жаловалось, что не может преобразовывать символы Unicode, но клиент все еще может использовать любые символы Unicode там? Я могу сделать это преобразование вручную, но я надеюсь, что есть способ сделать это без ручного преобразования.
1 ответ
Ты можешь использовать SQL_ASCII
, который сообщает базе данных, что байты для текста должны прозрачно передаваться без какой-либо проверки или преобразования.
Обычно это ужасная идея, которая приводит к ужасному сочетанию несовместимых и несовпадающих кодировок текста в БД, когда некоторые приложения вставляют UTF-8, другие - латиницу-1 и т. Д. Это вариант, если вам нужно работать с кодировкой, которая база данных на самом деле не может понять, хотя.
Ваша альтернатива - добавить поддержку utf-7 в PostgreSQL. Это не может быть слишком сложным, так как вся обработка кодирования довольно хорошо абстрагирована.