0

mysql にクエリを挿入するときは、次のようにします。

execute(query.encode('utf8'))

最初に文字列を Unicode 互換にしてから実行します。

SQL から Python コードにデータを再度取得する場合、encode 関数を適用して再び Unicode 対応にする必要がありますか? はいの場合、SQL は行のブロックを返します。すべてをエンコードするにはどうすればよいですか?

を使用して行を取得しますcursor.fetchall()。行の各要素をユニコード互換にするにはどうすればよいですか?

4

1 に答える 1

0

ステップ 1: これを読んで理解してください: http://www.joelonsoftware.com/articles/Unicode.html #IMPORTANT

これで、プログラム内のすべてのテキスト データは Unicode でなければならないことがわかりました (また、Unicode データを utf-8 でエンコードされた文字列と間違えたり、「エンコード」して「デコード」したりすることはもうありません)。

mysql 接続の作成時に使用するエンコーディングを指定できます - そこで指定します: http://mysql-python.sourceforge.net/MySQLdb-1.2.2/ <-" init "の "charset" パラメータを確認します。 「接続」モジュールのメソッド - パラメータとしてMySQLdb.connect呼び出しに渡すことができます

それ以降、この接続から取得されたすべてのテキスト データは Unicode として Python に提示され、データベースに格納されているデータが Unicode 文字列としてエンコードされます。

于 2012-05-24T18:41:18.593 に答える