ユニコード(データベース内)に格納されたデータを取得し、別の形式に変換する必要があります。Pythonを使用してsqlite dbからunicodeを読み取る
次のスニペット
def convert(content):
content = content.replace("ஜௌ", "n\[s");
return content;
mydatabase = "database.db"
connection = sqlite3.connect(mydatabase)
cursor = connection.cursor()
query = ''' select unicode_data from table1'''
cursor.execute(query)
for row in cursor.fetchone():
print convert(row)
は、変換メソッドで次のエラーメッセージをもたらします。データベースの内容がある場合
exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)
"ஜௌஜௌஜௌ"、出力はでなければなりません "のn \ [SN \ [SNの\ [S"
ドキュメントが使用することを示唆しては無視するかを避けるために交換してくださいユニコード文字列を作成するときのエラー。
for row in cursor.fetchone():
print convert(unicode(row, errors='replace'))
それは行が既にUnicode文字であることを通知
exceptions.TypeError: decoding Unicode is not supported
を返す以下のように反復が変更さ
。
これを有効にするための光は高く評価されます。前もって感謝します。
のpythonのバージョン使っていますか? – fuzzyanalysis
Python 2.6.3。 – Gopal
あなたのPythonスクリプトにあなたのユニコード文字列の ''例 ""を入れてみてください。刺激的ですが、Python 2には2種類の文字列、 'unicode'と' str'があります。技術的な側面については不明ですが、これはたとえば8ビット(UTF-8を使用してエンコードされたもの)や16ビットの文字列などです。さらに、 '\\ ['? –