2016-10-23 2 views
0

На моем сайте Wordpress база данных (mysql) была обновлена, а раньше была кодировка utf8mb4, но теперь она становится utf8 и не поддерживает utf8mb4. Итак, в моем файле wp-config я изменил charset на utf8.Шрифт Wordpress DB изменен с utf8mb4 на utf8, вызывая ошибку

Но я получаю сообщение об ошибке Как это

Ошибка HTTP 500

image

+0

пожалуйста, проверьте http://stackoverflow.com/questions/30074492/what-is-the-difference-between-utf8mb4-and-utf8-charsets-in-mysql –

+0

так, что является решением для этого. – aneesh

+0

Есть ли какие-либо изменения, которые необходимо внести в wordpress config? – aneesh

ответ

0

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

<?php 
 
error_reporting(E_ALL); 
 
$dbname = "YOUR-DATABASE-NAME"; 
 
mysql_connect("localhost", "YOUR-DATABASE-USERNAME", "YOUR-DATABASE-PASSWORD") or die(mysql_error()); 
 
mysql_select_db("$dbname"); 
 
mysql_query("SET NAMES 'utf8';") or die(mysql_error()); 
 

 
$query = "SHOW TABLES"; 
 
$result = mysql_query($query) or die(mysql_error()); 
 
while ($data = mysql_fetch_assoc($result)) { 
 

 
\t $table = $data["Tables_in_$dbname"]; 
 
\t $query = "alter table $table convert to character set utf8 collate utf8_turkish_ci"; 
 
\t mysql_query($query) or die(mysql_error()); 
 
\t echo "<b>$table</b><br>"; 
 

 
\t $query = "SHOW COLUMNS FROM $table"; 
 
\t $result_2 = mysql_query($query) or die(mysql_error()); 
 
\t while ($columns = mysql_fetch_assoc($result_2)) { 
 

 
\t \t if (
 
\t \t \t \t (stripos($columns['Type'], 'varchar')!==false) 
 
\t \t \t \t || 
 
\t \t \t \t (stripos($columns['Type'], 'text')!==false) 
 
\t \t) { 
 
\t \t \t $query = "ALTER TABLE $table MODIFY {$columns['Field']} {$columns['Type']} CHARACTER SET utf8 COLLATE utf8_turkish_ci"; 
 
\t \t \t mysql_query($query) or die(mysql_error()); 
 
\t \t \t echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$columns['Field']}<br>"; 
 
\t \t } 
 
\t } 
 
} 
 

 
echo "<hr><h1>Done!</h1>";

 Смежные вопросы

  • Нет связанных вопросов^_^