Jump to content

Конвертирование кодировки базы данных из cp1251 в utf8

Featured Replies

Posted
comment_4798

Это тема поддержки статьи: Конвертирование кодировки базы данных из cp1251 в utf8.

Здесь вы можете обсудить все вопросы, связанные с этой статьёй.

Дата добавления статьи: 25 Май 2012 - 02:48

Дата обновления статьи: 26 Январь 2015 - 11:51

  • 5 месяцев спустя...
  • 3 месяца спустя...
  • 4 месяца спустя...
comment_38855

Respected, спасибо.

 

На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.



Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.

<?php
// Database info

include("conf_global.php");

$dbhost = $INFO['sql_host'];
$dbuser = $INFO['sql_user'];
$dbpass = $INFO['sql_pass'];
$dbname = $INFO['sql_database'];

//---------------

header('Content-type: text/plain');

$dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() );
$db = mysql_select_db($dbname) or die( mysql_error() );

$timer['start'] = microtime(true);

$sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
$result = mysql_query($sql) or die( mysql_error() );
print "Database changed to UTF-8.n";

$sql = 'SHOW TABLES';
$result = mysql_query($sql) or die( mysql_error() );

$sql = array();
while ( $row = mysql_fetch_row($result) )
{
    $table = mysql_real_escape_string($row[0]);
    $sql   = "ALTER TABLE {$table} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
    mysql_query($sql) or die( mysql_error() );

    print "{$table} changed to UTF-8.n";
}

mysql_close($dbconn);
$timer['end'] = microtime(true) - $timer['start'];
echo "nPage generated in ". round( $timer['end'], 4 );
?>
  • 2 years later...
comment_95602

Вопрос,  при неудачном стечении обстоятельств, к каким проблемам это может привести?

Форум живой http://forums.windofluck.com/

на нем много информации  и прочего, как можно провести перекодировку наиболее безопасным способом?

comment_95603
Только что, Trazzy сказал:

Вопрос,  при неудачном стечении обстоятельств, к каким проблемам это может привести?

Форум живой http://forums.windofluck.com/

на нем много информации  и прочего, как можно провести перекодировку наиболее безопасным способом?

Конечно сделать дамп. Если хочешь выйти из любой ситуации без потерь - делай дампы.

comment_95608
1 час назад, ZeRik сказал:

Конечно сделать дамп. Если хочешь выйти из любой ситуации без потерь - делай дампы.

Само собой, бэкап  сделать обязательно. Есть ли штатные IP.Board'ские решения для такой ситуации. Проблема еще в том, что веб админ уволился, пытаемся разобраться.  

comment_95610
1 минуту назад, Trazzy сказал:

Само собой, бэкап  сделать обязательно. Есть ли штатные IP.Board'ские решения для такой ситуации. Проблема еще в том, что веб админ уволился, пытаемся разобраться.  

Какие там способы? Не будет таблицы - подскажет как создать необходимую. Не будет полей - тоже самое. Если ты запоришь базу - оно тебе не поможет. Да и процедура это немудреная, не думаю что возникнут с этим проблемы.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.