2016-10-23 253 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>";

相關問題