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