2

Django 1.3 を使用しています。とても親切で、私に 1 つの質問に答えていただけませんか。エンコーディングが untf8-unicode に設定されているデータベースからデータを読み取っています

settings.py
DEFAULT_CHARSET = 'utf-8'

file.py
# -*- coding: utf-8 -*-
def get_gift(gift_id):
    gift = Gift.objects.get(id__exact = gift_id, is_visible = True)
    return gift

def output():
    gift = get_gift(gift_id)
    title = gift.name.encode('utf-8')
    return HttpResponse(title)

応答として \u0411\u0435\u0441\u0435\u0434\u043a\u0430 が返されますが、ロシア語 (キリル) である必要があります

4

1 に答える 1

0

ローマ字以外のテキスト データが Unicode にあるのに、それを表示できないことがよくあります。通常、Unicode をサポートしていないアプリケーションを介してユーザーに表示しようとしているか、または使用しているフォントが原因です。ニーズにアクセスできません。Unicode 文字を「???????」として表すことができます。または「\15BA\15A0\1610...」ですが、テキストの内容を実際に読みたいユーザーにとってはほとんど役に立ちません。

Unidecode が提供するのは、Unicode データを受け取り、それを ASCII (つまり、0x00 から 0x7F までの普遍的に表示可能な文字) で表現しようとする関数 'unidecode(...)' です。

表現は、ほとんどの場合、音訳の試みです。つまり、ローマ字で、他の書記体系のテキストで表現された発音を伝えます。(上記の例を参照)

詳細はこちら

試すpip install Unidecode

于 2011-09-21T12:50:16.173 に答える