powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Переконвертировать все данные в базе из KOI8 в ISO_8859_5?
6 сообщений из 6, страница 1 из 1
Переконвертировать все данные в базе из KOI8 в ISO_8859_5?
    #35136870
pg_beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то не соображу сразу! :-/
Был сервер с несколькими базами на Linux, базы в кодировке KOI8. Теперь всё это хозяйство надо перенести на другой сервер. Там локаль ISO_8859_5. Соответственно, надо же все базы переконвертить в эту кодировку?
...
Рейтинг: 0 / 0
Переконвертировать все данные в базе из KOI8 в ISO_8859_5?
    #35136917
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не обязательно. в дампе в начале указывается в какой кодировке данные, точнее там устанавливается кодировка подключения для заливки данных, типа:
Код: plaintext
1.
2.
3.
4.
5.
--
-- PostgreSQL database dump
--

SET client_encoding = 'UTF8';
таким образом сделав дамп на сервере с koi8-r и залив его на сервере с iso_8859_5 данные будут сконвертированы автоматически, благодаря тому что в дампе будет SET client_encoding = 'KOI8-R';

единственно что - может быть проблема если некоторые символы присутствуют в исходной кодировке и данных и отсутствуют в целевой кодировке. вот например из википедии про iso 8859-5:
авторИмеются буквы многих языков, использующих кириллицу, однако в целом ISO 8859-5 — не очень удобная кодировка, поскольку в ней отсутствуют многие нужные символы, такие как тире (—), кавычки-ёлочки («»), градус (°) и др. Нет также буквы Ґ, используемой иногда в украинской письменности. символ градуса есть в koi8-r (код 0x9C) таким образом если он используется в Ваших данных - его придётся заменить на что-то другое, что представимо в кодировке ISO 8859-5

--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
Переконвертировать все данные в базе из KOI8 в ISO_8859_5?
    #35136932
pg_beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёшне обязательно. в дампе в начале указывается в какой кодировке данные, точнее там устанавливается кодировка подключения для заливки данных, типа:
Код: plaintext
1.
2.
3.
4.
5.
--
-- PostgreSQL database dump
--

SET client_encoding = 'UTF8';
таким образом сделав дамп на сервере с koi8-r и залив его на сервере с iso_8859_5 данные будут сконвертированы автоматически, благодаря тому что в дампе будет SET client_encoding = 'KOI8-R';



Наверное, имели ввиду iso_8859_5?
...
Рейтинг: 0 / 0
Переконвертировать все данные в базе из KOI8 в ISO_8859_5?
    #35137015
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробую нарисовать схему, может тогда будет понятней

Код: plaintext
1.
2.
3.
[сервер locale=koi8-r encoding=koi8-r] -> pg_dump > [дамп в кодировке koi8-r, SET client_encoding = 'KOI8']

[дамп в кодировке koi8-r, SET client_encoding = 'KOI8'] > psql -> [сервер locale=ISO_8859_5 encoding=ISO_8859_5]

благодаря тому что в дампе написано SET client_encoding = 'KOI8' [сервер locale=ISO_8859_5 encoding=ISO_8859_5] понимает что входные данные в кодировке koi8-r и автоматически их конвертирует в свою внутреннюю кодировку ISO_8859_5


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
Переконвертировать все данные в базе из KOI8 в ISO_8859_5?
    #35137226
pg_beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, попробую! В 7.4 это сработает? У меня исходный сервер этой версии. На таргет-машине уже стоит 8.2.
...
Рейтинг: 0 / 0
Переконвертировать все данные в базе из KOI8 в ISO_8859_5?
    #35137644
ChameLe0n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может стоит постгрессу задать кодировку UTF-8 и переинициализировать кластер?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Переконвертировать все данные в базе из KOI8 в ISO_8859_5?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]