Перекодировка БД | Альтернативный Форум

Перекодировка БД

  • Автор темы Автор темы apol
  • Дата начала Дата начала

apol

Писатель
Регистрация
29.12.2006
Сообщения
26
Популярность
0
Карма
0
Есть такая проблемка - есть бекап БД на 10 мб с кодировкой UTF8_ci. С помощью какой программы можно перегнать ее в cp1251.
 
Что то все затихло
 
Ну давай, попробую помочь чем смогу, раз никто больше не откликнулся.
Во-первых, что значит "бэкап БД"? Чем он сделан? Это текстовый SQL-скрипт (дамп) или просто копия бинарников базы?
Если дамп текстовый (например через PHPMyAdmin, который, кстати, кодировку таки не позволяет выставить, сделанный), то можно попробовать вот что:
Есть в Линухе такая библиотека iconv. Заточена она как раз под перекодировку текста. И есть к ней пользовательская консольная морда с аналогичным названием. Т.е. делаешь так:
[root@localhost]$ iconv -l
Вывалится список доступных кодировок
Дальше:
[root@localhost]$ iconv -f koi8-r -t cp1251 dbbackup.sql > dbbackup_cp1251.sql
Вместо koi подставишь UTF-кодировку. Я не помню просто, как она называется.
P.S. Сам не пробовал, но теоретически :) должно сработать.
 
Есть в Линухе такая библиотека iconv. Заточена она как раз под перекодировку текста. И есть к ней пользовательская консольная морда
.

А есть какие соображение чтоб из под винды ето дело провернуть?
 
А есть какие соображение чтоб из под винды ето дело провернуть?

Фтопку маздай :) Стукнись в личку - договоримся куда залить и переконвертим, если канеш инфа не особо секретная ;)
 
Программа в аттаче. принудительно перекодирует дамп в нужную кодировку и записывает на сервер. Состоит всего их одного файла, работает на стороне сервера, так что смысла нет ставить Linux.

ЗЫ:

ну вот еще вот так можно добавить после строк соеденения с БД... контрольный, так сказать, в голову:

Код:
mysql_select_db(db('dbname')) or die(db('dberror'));
mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());
 
есть версия iconv под винду.. на соурсфордже скачивал несколько дней назад... работает аналогично Unix-версии...
 
Линукс-эт, конечо, клева, если есть сс-аш (с мобильного отвечаю-плохо тут с транслитом тут),а если нет? Что большая часть площадок. Делай, как я сказал-работать будет.
 
Последнее редактирование:
Назад
Верх Низ