Jump to content

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


Recommended Posts

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

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

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

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

Link to comment
Share on other sites

  • 5 months later...
  • 3 months later...
  • 4 months later...

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 );
?>
Link to comment
Share on other sites

  • 2 years later...

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

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

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

Link to comment
Share on other sites

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

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

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

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Ваша ссылка была автоматически строена.   Отображать как обычную ссылку

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...