The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от shur emailИскать по авторуВ закладки on 25-Июл-03, 16:08  (MSK)
Доброго времени суток, мне нужно переконвертировать mysql-базу из KOI8-U в WINDOWS-1251, мне предложили сделать так: сделать дамп базы и утилой iconv сконвертить, но сделав
iconv -f KOI8-U -t WINDOWS-1251 -o data.win data.sql
вылазит ошибка:
iconv: illegal input sequence at position 26997
Может кто-нить предложит более корректное или просто рабочее решение проблемы, заранее спасибо.
PS у меня Линукс асп9, и огромная mysql-база
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от XMan Искать по авторуВ закладки on 25-Июл-03, 20:52  (MSK)
Незнаю как в MySQL, а в Postgresql имеется переменная окружения клиента "client_encoding". Ставишь там 'WIN' и он сам преобразует из базовой в клиентскую. Теоретически, такая же возможность должна быть и в MySQL.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от shur emailИскать по авторуВ закладки on 28-Июл-03, 14:32  (MSK)
>Незнаю как в MySQL, а в Postgresql имеется переменная окружения клиента "client_encoding".
>Ставишь там 'WIN' и он сам преобразует из базовой в клиентскую.
>Теоретически, такая же возможность должна быть и в MySQL.


а как эту переменную посмотреть и вообще проверить есть ли она и как изменить?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от rnl Искать по авторуВ закладки on 29-Июл-03, 12:19  (MSK)
может быть тут что-то будет полезным...
http://www.mysql.com/doc/en/Charset.html
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от Kurt emailИскать по авторуВ закладки on 30-Июл-03, 11:44  (MSK)
выставляешь в настройках подключения ODBC драйвера "set CHARACTER SET cp1251_koi8"  и спишь спокойно без перекодирования

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от shur emailИскать по авторуВ закладки on 31-Июл-03, 13:55  (MSK)
>выставляешь в настройках подключения ODBC драйвера "set CHARACTER SET cp1251_koi8"  и
>спишь спокойно без перекодирования


не могу найти где это надо делать, и как?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от konst emailИскать по авторуВ закладки on 31-Июл-03, 15:37  (MSK)
>>выставляешь в настройках подключения ODBC драйвера "set CHARACTER SET cp1251_koi8"  и
>>спишь спокойно без перекодирования
>
>
>не могу найти где это надо делать, и как?
Смысл в чем? Ведь в БД хранятся байты а не символы. Надо просто установить в конфиг.файлах кодировку в которой выводить данные и все... А если надо перекодировать текстовый файл - то iconv действительно часто выдают ошибки. Тогда просто пишешь скрипт:
#!/usr/bin/perl
# w2k
while(<>) {
    tr/koi8-r-символы/виндовые символы/;
    s/[\n\r]+/\r\n/;
    print;
}
#usage: w2k <input_file > outputfile
+ можно предварительно проверить встречаются ли "необычные" символы
cat file | grep -v "[A-Za-zЮ-Ъю-ъ0-9.,_etc]"


  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от shur emailИскать по авторуВ закладки on 01-Авг-03, 12:45  (MSK)
Спасибо, я уже понял, что mysql будет выдавать в кодировке, которая задана, и нету смысла ее конвертить.
Вот только где и что надо менять?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от shur emailИскать по авторуВ закладки on 01-Авг-03, 13:44  (MSK)
>Вот только где и что надо менять?

Вот нашел способ : надо mysqld пускать с параметром --default-character-set=charset


  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от shur emailИскать по авторуВ закладки on 04-Авг-03, 15:19  (MSK)
>>Вот только где и что надо менять?

Вот еще Lavr предложил, большое ему спасибо, работает.

После подключения к базе данных, но перед созданием и заполнением таблицы выполняем команду: mysql_query("set CHARACTER SET cp1251_koi8"); на пхп.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Как сконвертировать базу mysql из KOI8-U в WINDOWS-1251?"
Сообщение от Mack Искать по авторуВ закладки on 09-Авг-03, 11:17  (MSK)
>Доброго времени суток, мне нужно переконвертировать mysql-базу из KOI8-U в WINDOWS-1251, мне
>предложили сделать так: сделать дамп базы и утилой iconv сконвертить, но
>сделав
>iconv -f KOI8-U -t WINDOWS-1251 -o data.win data.sql
>вылазит ошибка:
>iconv: illegal input sequence at position 26997
>Может кто-нить предложит более корректное или просто рабочее решение проблемы, заранее спасибо.
>
>PS у меня Линукс асп9, и огромная mysql-база

стартуйте mysql с параметром:
/bin/sh /usr/local/bin/safe_mysqld --default-character-set=cp1251 &

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру