0

私のコードでは、「Física」というフォルダーにあるファイルを呼び出します(「i」は鋭角であることに注意してください)。

IDE(Spyder)でこれを実行しても問題はありませんが、プログラムをpy2exeで実行可能ファイルに変換した後、エラーが発生します。

"UnicodeEncodeError: 'ascii' codec can't encode character u'\xed'"

問題は、これらの特殊文字が原因です。どうすればこの問題を解決できますか?

私は次のことをしようとしました

path = unicode(path).encode('utf-8')

パスをutf-8エンコーディングで処理します。しかし、これを行うと、私のパスは次のようになります。

F\xc3\xadsicaそれ以外のFísica

4

1 に答える 1

1

私は自分が間違っていたことを知りました:

そのパスからファイルを読み取り、同じパスにファイルを書き込みたいと思いました。パスを変数に保存するときに、utf-8でパスをエンコードしていました。ただし、その変数を使用してパスに書き込むときに、デコードを使用していませんでした。

パスを変数に保存するときは「encode('utf-8')」を使用し、宛先パスを設定するときは「decode('utf-8')」を使用する必要があります。どうもありがとうございました、そして悪い説明をお詫びします

于 2013-03-13T16:35:07.613 に答える