2017-12-04 26 views
0

MySqlデータベースからデータを読み取ろうとしています。アクセントや「ñ」という文字を受け取る必要がある場合を除いてすべて正しいですRIDEを使用してMySqlからデータを取得

私のデータベースの照合を確認しました。私はテーブルと列のutf8_unicode_ciで設定しました。

私はpython 2.7.8を使用しています。デコードとユニコードを試みましたが、テーブルの結果をうまく書き込めません。私は常に取得:

BAÑO - > Baの\を

ラミナxf1o - > Lの\ xe1mina

私はRIDE(1.5.2.1)からのクエリを起動Windowsの10

任意のアイデアが下?

ありがとうございます。

答えて

1

あなたはどのようにテキストを受信して​​いますか? ñe1のようにエンコードされた場合は、latin1としてエンコードされます。 (実際にはcp1250、dec8、latin1、latin2、latin5のいずれかですが、おそらくlatin1はMySQLの古いデフォルトですので)

実際にe1がクライアントにある場合は、latin1を持っていることをMySQLに伝えます。データベーステーブルをutf8に設定しても問題ありません.MySQLはストア/フェッチを実行するときに字句を入れます。

どこでもutf8を持つ方がよいでしょう。ここで

は、Pythonの私のメモです:そのセクションは、使用しているように見える古いのPython 2.7での問題へのリンク、で終わることhttp://mysql.rjweb.org/doc.php/charcoll#python 注:Flask_SQLAlchemy, MySQL, store Swedish characters å, ä, ö?

+0

には、以下のリンクがあり、どうもありがとうございました非常に便利でした:http://mysql.rjweb.org/doc.php/charcoll#python ここで私は接続にdbcharset = 'utf8'を追加する必要があることを知りました。これで問題は解決されました。 今、私は、アクセント付きのMySQL文字と 'ñ'を正しく受け取っています。 多くの感謝! – Marta79

+0

@ Marta79 - リンクがうまくいった。悲しいかな、リンクは物事の混乱です。あなたは何か「間違っている」を見ましたか?私はそれを並べ替えるべきですか?他の批判? (私は決してPythonを使用していません。) –

関連する問題