2014-09-03 23 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