私は、いくつかの文字列をUTF-8エンコーディングで書き込むPythonスクリプトを持っています。私のスクリプトでは、主に文字列にキャストするのにstr()
関数を使用しています。Python UnicodeとLinuxの理解
私は標準のLinux Red Hat x86_64端末であるPython端末を使用していません。 utf8の文字を出力するように端末を設定しました。
私はこれを実行した場合:
#python myscript.py
this is unicode string: カラダーズ ソフィー
をしかし、私はそれを行う場合:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 253-254: ordinal not in range(128)
なぜそれがある:
#python myscript.py > output
を私は典型的なエラーが発生しましたか?
、あなたが言った、「UTF-8エンコーディングといくつかの文字列は、」どのように文字列がUTF-8でエンコードされたことを確認することができ、あなたは何をしましたか? –
@ venus.w大変申し訳ございませんが、お手伝いできません。私は、UTF-8でエンコードされているDBとCSVの両方から文字列を読み込んでいますが、エンコーディングは実際にはUTF-8であると仮定しています(プリントすると日本語の文字を正しく読み込むことができます)。実際には他の文字セットでエンコードされており、日本語文字も使用できます。私はあなたに文字列のエンコーディングを教えて、それを変更することができるPython関数があると信じています。 – Cesc