Pythonスクリプトで呼び出すストアドプロシージャを持つデータベースがあります。
昨日までは問題ありませんでした。
しかし昨日、データベース サーバーに問題が発生し、データベースを復元しました。
今、私は同じコードからこの警告を受けています:
Warning: Incorrect string value: '\xD9\x88\xD8\xB2\xDB\x8C...' for column 'title' at row 1
DB でいくつかのエンコーディングを確認しました :
In INFORMATION_SCHEMA.COLUMNS
:
+--------------+--------------------+
| COLUMN_NAME | CHARACTER_SET_NAME |
+--------------+--------------------+
| title | utf8 |
+--------------+--------------------+
データベース照合:latin1_swedish_ci
テーブル照合:utf8_general_ci
カラム照合:utf8_general_ci
サーバー文字セット: UTF-8 Unicode (utf8)
(すべて以前と同じです!!)
そして私はこれを使って接続しています:
self.con=mdb.connect(host=self.host, user=self.user, passwd=self.passwd, db=self.dbname,use_unicode=True, charset="utf8");
変数title
はユニコードです。
私は試した:
utf8_general_ci
テーブルの変更とtitle
列の再設定SET NAMES utf8
プロシージャ を呼び出す前に呼び出します。- ストアド プロシージャの削除と再作成
どれもうまくいきませんでした!!! :-(
insert
Unicode コンテンツを含む一時テーブルでクエリ を実行しましたが、その警告なしで機能しました!!!
何が問題ですか?
どうすればこれを修正できますか?
ありがとう