Jump to content
Sign in to follow this  
Respected

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

Recommended Posts

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

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

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

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

Share this post


Link to post
Share on other sites

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 );
?>

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites
Только что, Trazzy сказал:

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

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

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

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

Share this post


Link to post
Share on other sites
1 час назад, ZeRik сказал:

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

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

Share this post


Link to post
Share on other sites
1 минуту назад, Trazzy сказал:

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×