私のPyQtアプリケーションから私のmysqlデータベースに変なエンコーディングの問題があります。 私は全く同じことをしているように見えるが、あるケースでは動作し、他のケースでは動作しないという意味では奇妙なことを意味する。私はおそらくアクセントとか(E、A、E、...)私はと書かれたテキストを取得pythonとmysqlの間のエンコードの問題
を含むテキストを記述したいくつかのQFocusOutTextEdit要素を持っている
:
私のプロセスは以下のとおりです。 :
text = self.ui.text_area.toPlainText()
text = text.toUtf8()
その後、私は私のデータベースに挿入する:
text= str(text).decode('unicode_escape').encode('iso8859-1').decode('utf8')
私のデータベースの文字セット、特定のテーブル、およびテーブルの特定の列をutf8に設定しました。
私のテキスト領域では動作していますが、他の領域ではdbではなく奇妙な文字が表示されます。
これについて何かヒントをいただきました!
解決済み: 申し訳ありませんが、私のデータベースには最新のものではないフィールドがいくつかありましたが、これは何とかエンコードのプロセスをブロックしていました。
WOW。 UTF-8にエンコードしてから再度デコードし、再びエンコードしてからデコードしますか?たぶんあなたは、そのすべてが意味すると思われるものを説明するほうがいいでしょう。あなたはこれを簡単にすることはできません**多く**? – Celada
ええ、私はそれも私に奇妙に見えた。私はいくつかのフォーラムでこの解決策を見ましたが、何らかの理由で動作します。私はそれ以上見ていませんでした。私はエンコードの問題をあまり理解していません。あなたがより簡単な解決策を持っているなら、私はそれを取るでしょう! – Johanna
どのようにデータベースに挿入しますか? – golimar