Альтернативный Форум

Альтернативный Форум (https://af.net.ru/index.php)
-   Веб-мастерам (https://af.net.ru/forumdisplay.php?f=124)
-   -   Перекодировка БД (https://af.net.ru/showthread.php?t=5421)

apol 02.08.2007 23:11

Перекодировка БД
 
Есть такая проблемка - есть бекап БД на 10 мб с кодировкой UTF8_ci. С помощью какой программы можно перегнать ее в cp1251.

apol 14.08.2007 22:56

Re: Перекодировка БД
 
Что то все затихло

DEV 15.08.2007 01:25

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

apol 15.08.2007 23:59

Re: Перекодировка БД
 
Цитата:

Сообщение от DEV (Сообщение 96231)
Есть в Линухе такая библиотека iconv. Заточена она как раз под перекодировку текста. И есть к ней пользовательская консольная морда
.

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

xakep 18.09.2007 17:21

Re: Перекодировка БД
 
Цитата:

Сообщение от apol (Сообщение 96551)
А есть какие соображение чтоб из под винды ето дело провернуть?

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

ForumRoot 28.09.2007 20:13

Re: Перекодировка БД
 
Программа в аттаче. принудительно перекодирует дамп в нужную кодировку и записывает на сервер. Состоит всего их одного файла, работает на стороне сервера, так что смысла нет ставить Linux.

ЗЫ:

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

Код:

mysql_select_db(db('dbname')) or die(db('dberror'));
mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());


Kai 28.09.2007 23:26

Re: Перекодировка БД
 
есть версия iconv под винду.. на соурсфордже скачивал несколько дней назад... работает аналогично Unix-версии...

ForumRoot 25.07.2008 16:58

Re: Перекодировка БД
 
Линукс-эт, конечо, клева, если есть сс-аш (с мобильного отвечаю-плохо тут с транслитом тут),а если нет? Что большая часть площадок. Делай, как я сказал-работать будет.


Часовой пояс GMT +3, время: 09:09.

Powered by vBulletin® Version 3.8.11 PL4;
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd;
Оператор обработки ПДн - ИП Алексеев А.С.;
ИНН: 333411310227; ОГРН: 307333419200050;
тел. +7 (4922) 49-42-22, legal@smalta.net