我正在嘗試編寫一個PHP腳本,該腳本通過CSV循環並將CSV中的值插入到MySQL表中。 CSV中的字符看起來很好,但是當我將它們插入數據庫時,它們顯示爲ç‹‚å¹²
和變體。將CSV中的中文字符插入到MySQL中時遇到困難
我把PDO連接設置爲UTF-8字符集,表本身設置爲UTF-8,當我轉儲字符時,它們顯示爲正確的中文字符,只要我設置UTF- 8頭。然而,他們在插入時都不習慣,在退出時仍然如此。如果我使用GUI(Navicat)插入特定的短語,它會選擇正常。
$mysql = new PDO('mysql:host=1.2.3.4;dbname=db;charset=UTF-8', 'username', 'password');
header('Content-type: text/html; charset=utf-8');
$handle = fopen('bannedWords.csv', 'r');
$count = 0;
$word = '';
$insert = $mysql->prepare("INSERT INTO sensitivePhrases SET phrase = :word");
$insert->bindParam(':word', $word);
while (($data = fgetcsv($handle)) !== false) {
$word = $data[1];
var_dump($word);
$insert->execute();
}
我使用uft8_encode
和utf8_decode
,以及mb_convert_encoding
,沒有一個是有幫助試過。我很想知道我要去哪裏的錯誤。
對不起,我意識到我可能沒有在我的連接嘗試它,並會嘗試後再次作出響應。 – RhoVisions
成功!我一定沒有把它添加到我的連接中!有效! – RhoVisions
耶,對不起,昨晚它不讓我檢查一下原因;再次感謝! – RhoVisions