データベースに特殊文字を含む単語を挿入する際に問題が発生しています。単語は特殊文字で切り捨てられているようです。PHP/Mysqlの特殊文字の挿入が切り詰められる
私はMySQL 5.1.41を使用しています。私のデータベースの照合順序はutf8_general_ciです。私はPDOを使用してデータベースのやりとりを容易にしています。
ここに私がしていることの例があります。
//$db is a PDO object
$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
//word with a special character
$word = "pépite";
$sql = "INSERT INTO keyword(key_name) VALUES(?)";
$stmt = $db->prepare($sql);
$stmt->execute(array($word));
これは、私はちょうど私のデータベースに「P」を取得実行すると、それが切り捨てられた後、それは文字é、すべてを思わ。私はここで何が間違っているのか分かりません。誰かが私が間違ってやっていることを示唆することができれば、非常に感謝するでしょう。ありがとう!
おそらく 'mysql'の代わりに' mysqli'クライアントをPHPに使用していますか? – Treffynnon
毎回1文字ずつ切り捨てるのか、それとも特殊文字まですべてを保存するだけですか? – MetalFrog
あなたのテーブル構造は何ですか? – MMM