簡體   English   中英

導入MySQL數據-錯誤的字符集

[英]Import mySQL data - wrong charset

我通過我的網站遷移到另一個ISP,但遇到了問題。 我轉儲了mySQL數據庫,導入了新的ISP,然后從網絡連接時出現了一些不好的跡象,例如:“ wy ??? czy ?? si ?? podczas u ?? ywania,nie uruchamia si。?”,

我來自波蘭,所以我使用ę,±等本地符號。我不知道字符集的問題在哪里,我不更改數據庫中的字符集。 如何轉換此數據庫或其他解決此問題的方法?

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";
}

這就是我最終解決問題的方式:

第一個mysqldump -uusername -ppassword --default-character-set = 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);

變更歸類

變化整理

了解utf8並查看: utf8-encode

檢查您可以使用的數據類型之間的差異。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM