0

私がやること...

___写真付きの.zipファイルをアップロードするアップロードフォームがあります。また、ASCII以外の文字を含むファイルタイトルがあるたびに、Unicodeデコードエラーが発生します。

 title = ' '.join([filename[:filename.rfind('.')], str(count)])

エラー:

この行は画像のタイトルを生成します、そしてそれはまさに私にエラーを与える行です: 'utf8' codec can't decode byte 0x82 in position 2: invalid start byte. You passed in 'cr\x82ations' (<type 'str'>)

私がやろうとしたこと:

私もやってみまし .decode('utf-8')た。しかし、私が何をしようとも、毎回同じ結果が得られます。

site.pyでデフォルトのdjangosasciiをutf-8に変更する方法について読みましたが、それが役立つかどうかはわかりません。また、やりたくないことは間違いありません。

助けていただければ幸いです。

4

3 に答える 3

0

また、最初に .decode() を使用するのが正しいオプションだと思いますが、使用したコード ページ ('utf-8')) が間違っている可能性があります。「1252」などを試してみてください。興味のある標準エンコーディングを次に示します [Link]http://docs.python.org/library/codecs.html?highlight=arabic

于 2012-05-14T08:46:02.673 に答える
0

これが失敗する理由は、通常のstrオブジェクトと結合しようとしたためです。

それ以外の

' '.join(..)

使用する:

u' '.join(..)

または、以下を使用して生活を楽にします。

from __future__ import unicode_literals
于 2012-09-01T10:52:14.490 に答える
0

Django には、使用できる便利なユーティリティ メソッドがいくつかあります。

参照: https://docs.djangoproject.com/en/dev/ref/unicode/#conversion-functions

コードは次のようになると思います。

from django.utils.encoding import smart_str

title = ' '.join([smart_str(filename[:filename.rfind('.')]), str(count)])
于 2012-05-05T07:18:04.500 に答える