Posted 21 января, 20159 yr comment_78994 Появилась проблема, которая мучает уже очень долго и много... Мне нужно переконвертировать всю БД из latin1 в UTF-8, пробовал с sypex dumper, но он не доходя до конца выдает ошибку Есть проверенный способ конвертации всей БД? К примеру сейчас выглядит так, После конвертации (неполной с sypex dumper), слова отображает нормально, но форум в целом не открывается и показывает ошибку Driver Error, мол ошибка с базой данных Сейчас с учетом этой проблемы, один хостинг на котором я сейчас располагаюсь отображает все ок (непонятным мне образом), другой же на который хочу перейти выдает крякозябры при открытии форума, и решение мое добавление в htaccess: AddDefaultCharset utf-8
21 января, 20159 yr comment_78996 <? $dbhost = #sql_host $dbuser = #sql_user $dbpass = #sql_pass $dbname = #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() ); $sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_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() ); 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); ?>
21 января, 20159 yr Author comment_78997 Без перекодировки выглядит таким образом (выкладываю, потому что кому-нибудь точно пригодится) далее добавляю в htaccess: AddDefaultCharset utf-8 и все окей. Теперь же появилось много Warnings: Что с ними делать? php_flag display_errors off в htaccess не помогает
21 января, 20159 yr Author comment_78998 Без перекодировки выглядит таким образом (выкладываю, потому что кому-нибудь точно пригодится) далее добавляю в htaccess: AddDefaultCharset utf-8 и все окей. Теперь же появилось много Warnings: Что с ними делать? php_flag display_errors off в htaccess не помогает Прогнал базу через ваш скрипт, теперь БД действительно полностью стала UTF-8, но это не помогло, крякозябры остались. Попробовал в conf_global.php поменять latin1 на utf-8 выдает такое Итак, попробую подытожить, что у меня вообще за ситуация. 1. Если в conf_global.php оставить latin1 и через .htacces добавить AddDefaultCharset utf-8, то форум функционирует, но выдает много Warnings - (но на самом деле это не лучший способ решения проблемы, но уже хоть что-то) 2. После конвертации БД в UTF-8 - крякозябры остались и при отображении и в phpmyadmin Надеюсь на вашу помощь форумчане, уже весь мозг съел этот форум... Повторюсь, на старом хостинге без AddDefaultCharset utf-8 и без каких-либо заморочек все работает, хотя в phpmyadmin тоже крякозябры!
27 января, 20159 yr comment_79393 Можно попробовать сделать дамп в phpMyAdmin Потом открыть этот дамп скажем в EditPlus, заменить везде значения latin1 на правильные значение utf, сохранить файл в кодировке utf-8 Удалить старую базу форума в phpmyadmin, создать новую в utf. И восстановиться из файла с базой, который редактировали Такие манипуляции с форумами на phpBB у меня прокатывали =)
28 января, 20159 yr Author comment_79506 Можно попробовать сделать дамп в phpMyAdmin Потом открыть этот дамп скажем в EditPlus, заменить везде значения latin1 на правильные значение utf, сохранить файл в кодировке utf-8 Удалить старую базу форума в phpmyadmin, создать новую в utf. И восстановиться из файла с базой, который редактировали Такие манипуляции с форумами на phpBB у меня прокатывали =) а как я буду в ручную везде менять значения? их же там огромное количество
28 января, 20159 yr comment_79513 а как я буду в ручную везде менять значения? их же там огромное количествоНайти определенное значение и заменить на нужное, массово Хотя если такие вопросы задаёте, думаю не стоит тогда делать.
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.