2011-10-31 8 views
-1

私は問題を数日続けてしまい、いくつかの方法を試してみることができません。bulkloader Listproperty utf8

それはここでUTF-8

でcsvファイルを使用してデータのアップロードについてですdata.cvが含まれていmain.Py

class hello(db.Model): 
    greeting = db.StringListProperty() (or Listproperty(unicode)) 

class dbLoader(bulkloader.Loader): 
    def __init__(self): 
     bulkloader.Loader.__init__(self,'hello', 
     [ 
     ('greeting', lambda x: x.decode('utf-8').split('|')) 
     ]) 
loaders = [dbLoader] 

です:

を「こんにちは|¡|您好|こんにちははいはい|مرحبا|안녕하세요」

保存されたエンティティだけ [u'Hello LIKE」、U '\ u60a8 \ u597d'、U '\ u3053 \ u3093 \ u306b \ u3061 \ u306f'、U '' はxa1Holaを\、uと'\ u0645 \ u0631 \ u 062d \ u0628 \ u0627 '、u' \ uc548 \ ub155 \ ud558 \ uc138 \ uc694 '] 文字が正しくありません。

これ以上私にとって...ありがとう!

答えて

0

データを正しくインポートしています。格納されたエンティティは、単純にPythonのrepr形式で表示されます。これは、Unicodeコードポイントとして最初の127文字以外の文字を含むUnicode文字列を表します。 2番目のフィールドを使用して、コマンドラインで通常のPythonと同じ結果が得られます。

$ echo 您好 | python -c "import sys; print repr(sys.stdin.read().decode('utf8'))" 
u'\u60a8\u597d\n' 
+0

ありがとう、ニック、私の質問をクリアしています。ロットありがとう;) – Arthur