我正在尝试编写一个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