2016-10-23 254 views
0

在我的WordPress的网站,数据库(MySQL)已升级,以前的表字符集是utf8mb4,但现在它变成utf8,它不会支持utf8mb4。 因此,在我的wp-config文件中,我已将charset更改为utf8。WordPress的数据库字符集从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配置上需要做些什么改变吗? – 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>";

相关问题