2012-02-06 8 views
4

私はDBを作成していますが、私はMysqldbを使用しています。
データの文字型を挿入して選択したいのですが、その文字はギリシャ語です。
私のデータベースの照合順序をutf-8_general_ciに設定しましたが、ギリシャ語を挿入すると奇妙な文字が表示され、Python経由でこのテーブルの行を選択しようとしましたが、結果は(1,??????)です。mysqldbにギリシャ語を挿入して選択するには

誰も私を助けてくださいことはできますか?おかげ

答えて

2

set character_set_database = utf8; 
set character_set_server = utf8; 
set character_set_system = utf8; 
set collation_database = utf8_general_ci; 
set collation_server = utf8_general_ci; 
set names utf8; 

するか、設定ギリシャ文字を使用して:-)

パイソン:

​​0123:
db = MySQLdb.connect(host="localhost", 
use_unicode = True, charset = "utf8", 
user=username, passwd=password, db=database) 

次に出力に、あなたは文字列を指定する必要はUnicodeです

+0

あなたが私にパイソンの例を示すならば、このすべてを使う方法は最高でしょう – TLSK

+0

@TLSKそこに行く? – Max

+0

今私は(1、u '\ u0391 \\ u0395 \ ...)のようなものを取る – TLSK

2

あなたは、Pythonの側からUnicodeを使用していますか?

秘密の要素は、接続 のパラメータにcharset = "utf8"を追加し、use_unicode = Trueです。 Source

db = MySQLdb.connect(host=DB_HOST, user=DB_USER, passwd=DB_PASS, db=DB_NAME, charset="utf8", use_unicode=True) 

のPython 3にUnicode文字列が標準であるが、以降の継続、という注意は、以前のバージョンでは、Unicode文字列と文字列は異なるものです。あなたのエンコーディングの問題は、PythonでUTF8を設定してください、とDB設定しようとする可能性があります

+0

あなたの答えをありがとう!!! – TLSK