Releventコード:PDO utf8_encoding INSERTでテキスト文字列が2回表示されますか?
$status = $db->run(
"INSERT INTO user_wall (accountID, fromID, text, datetime) VALUES (:toID, :fromID, :text, '" . time() . "')",
array(":toID" => $toID, ":fromID" => %accountID, ":text" => $text)
);
私はこれらのコード行を含む関数を呼び出し、それを処理するために、AJAX呼び出し、それを投げ、JavaScriptから入力されたテキストを取っています。
問題のテキスト文字列がある:「Türkçe Türkçe Türkçe!
」
データベースを調査すると、次の値を二重utf8_encode'dである、「Türkçe Türkçe Türkçe!
」に保存されます。
データベースから選択してテキストを表示すると、最初にデータベースに保存する方法はとなるはずですが、「Türkçe Türkçe Türkçe!
」と表示されます。それはPDOによって準備されているよう
は、私の知る限りでは、私はデータを符号化するわけではない...
Dulyは指摘する。私はgeditがユニコードで保存されていれば、2のうちの2/3を実行していました。私はいつもutf8_general_ciがutf8_binと何か他のバリエーションとの違いを確信していました... –
'utf8_bin'はあなたのデータを明示的にバイナリにします。私はpercsを知っていませんが、それはあなたがそれ以上のテキスト検索をすることができないようにするかもしれません。バイナリの照合は一切使用しません。他の誰かがあなたにそれを啓発するかもしれません。 – Halcyon
洞察のおかげで:) –