特殊文字を含むエントリの挿入および更新に問題があります。たとえば、更新のための :$ updateArrayを構築した後、私は次の関数があります。 public function updateVideo($id, $updateArray) { $this->db->where("ID", $id); return $this->db->update("videos", $updateArray); }
データベースへの特殊文字の挿入(コードネイター)
をしかし、値がたとえばAの特殊文字を、持っているとき、それはAでデータベースエントリを更新します。これはすべての特殊文字(éáèàなど)にあります。
私は$ updateArrayをダンプし、特殊文字はそこに問題ありません。私は最後のクエリをecho'dし、それもそこに問題ありません。 phpMyAdminで最後のクエリを直接実行しても、問題ありません。それはクエリを構築した後に間違っているように見えるので、それを実行するとき。
のphpMyAdminの列順序はlatin1_swedish_ciています。私は$ config ['charset'] = 'iso-8859-1';を設定しました。データベース設定には、 'char_set' => 'latin1'、 'dbcollat' => 'latin1_swedish_ci'もあります。
私が間違っている場所を特定するのに役立つ人がいますか?ありがとう! DBCOLLATを変更することにより、
が
UTF-8を設定しているので、このSOの答えはあなたがそれを見つけるのに役立つでしょうか? https://stackoverflow.com/questions/279170/utf-8-all-the-way-through – ourmandave
@ourmandave私はこれらの手順に従っていますが、それは動作しませんでした。 –
奇妙なことは、CIがビルドするクエリ(私はエコーすることができます)を手動で実行するとうまくいくということです。 CIがそれを実行するとき、それは間違っています。 –