Архив заметок

collate

Подписаться на эту метку по RSS

Замена кодировки для всех таблиц

Просмотров: 3309Комментарии: 0
MySQL

Понадобилось мне сменить кодировочку для таблиц из одной БД. Все бы ничего, это в принципе можно сделать с помощью phpmyadmin, но есть одна проблема. Смену кодировки можно забубенить только отдельно для каждой таблицы, а у меня их было за 60.

Можно естессно накатать запрос, но я не гений mysql да и вообще языка sql.

Пришлось прибегнуть к помощи гугла и найти скриптик для выполнения этого действа:

<?php
$db = mysql_connect('localhost','myuser_mydbuser','mypassword');
if(!$db) echo "Cannot connect to the database - incorrect details";
mysql_select_db('myuser_mydbname'); $result=mysql_query('show tables');
while($tables = mysql_fetch_array($result)) {
foreach ($tables as $key => $value) {
mysql_query("ALTER TABLE $value COLLATE utf8_general_ci");
}}
echo "The collation of your database has been successfully changed!";
?>
  • myuser_mydbname - имя вашей бд;
  • myuser_mydbuser - имя пользователя бд;
  • mypassword - пароль пользователя бд;
  • utf8-general_ci кодировка на которую надо поменять таблички;

Сохраняете файло на сервере, в браузере пишем https://ваш_адрес_сайта/collate.php

И наслаждаемся результатом.