modx кодировка бд

Всем привет!
У меня возникла проблема с кодировкой базы данных в modx revo.
Сейчас все выглядит примерно так:


Кодировка => latin1_swedish_ci
На сайте все выводиться адекватно.

Начал искать информацию как сменить кодировку с latin1_swedish => utf8_general_ci
Нашел полезный скрипт:
<?php
        $dbname = 'dbname';
        if (!mysql_connect('localhost', 'login', 'password')) {
        print 'Could not connect to mysql';
        exit;
    }

    $result = mysql_list_tables($dbname);
    
    if (!$result) {
        print "DB Error, could not list tables\n";
        print 'MySQL Error: ' . mysql_error();
        exit;
    }
   
    while ($row = mysql_fetch_row($result)) {
                $sql_s = "ALTER TABLE ".$row[0]." CONVERT TO CHARACTER SET utf8";
                mysql_query($sql_s);
         $sql = "SELECT * FROM ".$row[0];
                 mysql_query('SET NAMES latin1');
                 $res = mysql_query($sql);
                 while($rows = mysql_fetch_assoc($res))
                 {
                 $array_table[$row[0]][] = $rows;
                
                 $zapros = '';
                         foreach($rows as $key=>$value)
                         {
                                 $zapros .= ' , `'.$key.'` = "'.mysql_real_escape_string($value).'" ';
                         }
                         $zapros = substr($zapros, 2);
                          $sql_a = "UPDATE ".$row[0]." SET  ".$zapros." WHERE id = ".$rows['id'];
                        mysql_query('SET NAMES utf8');
                        mysql_query($sql_a);
                 }
    }
?>
Запустил из корня. Все корректно выполнилось. Зашел в БД -> все адекватно выводиться, кодировка изменилась. Захожу на сайт, а там крякозябры. :(

Уважаемые пользователи может кто-то сталкивался с подобной проблемой?
Подскажите как сделать адекватное отображение русских символов на сайте.

Спасибо за внимание.
roman
25 сентября 2014, 12:33
modx.pro
3
6 392
0

Комментарии: 1

Александр Семенов
25 сентября 2014, 23:57
0
Сталкивался с такой проблемой не так давно.
Экспортируй базу
Запусти на локальном сервере sypex dumper и прогони через нее свою базу для преобразования в нужную кодировку (инструкция тут)
Пересоздай свою базу в нужной кодировке и с нужным сравнением
Загрузи в нее исправленный дамп
Проверь в настройках MODx указанную кодировку
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1