2014-09-03 41 views
0

我遷移到另一個ISP與我的網站,我有問題。我aker轉儲mySQL數據庫,導入新的ISP,並從網絡連接時,我有不好的跡象,如:「wy ?? ?czy ??si ?podczas u ?? ywania,nie uruchamiasi ?」,導入mySQL數據 - 錯誤的字符集

我來自波蘭,所以我使用像ę,ą等地方標誌。我不知道字符集問題在哪裏,我不會在數據庫中更改這個。我如何轉換這個數據庫或另一個解決這個問題?

function db_connect(){ 
$connect_support = mysql_connect(SQL_SERVER, SQL_USER, SQL_PASS) 
    or die('bd server'); 
mysql_select_db(SQL_DB) 
    or die('table'); 
//$charset = mysql_client_encoding($connect_support); 
//echo "Charset is: $charset\n"; 
} 

回答

1

這是我結束瞭解決我的問題:

首先mysqldump的-Uusername -Ppassword --default-字符集= LATIN1數據庫-r dump.sql

然後運行該腳本

$search = array('/latin1/'); 
$replace = array('utf8'); 
foreach (range(128, 255) as $dec) { 
$search[] = "/\x".dechex($dec)."/"; 
$replace[] = "&#$dec;"; 
} 

$input = fopen('dump.sql', 'r'); 
$output = fopen('result.sql', 'w'); 

while (!feof($input)) { 
$line = fgets($input); 
$line = preg_replace($search, $replace, $line); 
fwrite($output, $line); 
} 

fclose($input); 
fclose($output); 
+0

現在,我還有另一個字符集和「wyĹÂÂÂÂÂÂÂÂÂÂÂÂÂÂÃÂ」 – 2014-09-03 14:17:38