0

このアプリケーションは Python 2.7 で正常に動作しています。

たとえば、「من」を「mn」に変更します。

# -*- coding: utf-8 -*-
from __future__ import print_function
from __future__ import unicode_literals
"""Kurdish Alphabet to Kurdish Kirmanci Latin Translator"""

s = "من"
Latin = {
        'ئه':'A','ا':'A','ب':'B',
        'ج':'C','چ':'Ç','د':'D',
        'ە':'E','ێ':'Ê','ف':'F',
        'گ':'G','ه':'H','هه':'Ha',
        'ئ':'I','ی':'Î','ژ':'J',
        'ک':'K','ل':'L','م':'M','ن':'N',
        'ۆ':'O','پ':'P','ق':'Q','ر':'R',
        'س':'S','ش':'Ş','ت':'T',
        'وو':'U','و':'Ú','ی':'Y','ز':'Z',
        'خ':'X',' ':' ','؟':'?','،':',',}

#this will take each index of the list
#and take it through ChangeTool
#and print it

wordlist = list(s)
wordlist = [ch for ch in s]    
for l in wordlist:
        print (Latin[l])
print("\r")

これを Django Function に変更したところ、奇妙な動作が発生しました!

ジャンゴ関数:

def change(request):
        Latin = {'ئه','ا','ب','ج','چ',}
            Latin = [character for character in Latin]
return render_to_response('change_result.html',{'Latin':Latin})

私は結果がどうなるかをテストしているだけです!そして今、これはhtmlページに表示されるものです:

['\xd8\xa6\xd9\x87', '\xda\x86', '\xd8\xa8', '\xd8\xac', '\xd8\xa7'] 

u''文字の前に置くと、次のようになります。

[u'\u0628', u'\u0626\u0647', u'\u062c', u'\u0627', u'\u0686'] 

何が起こっているのか教えてください。html ページに文字が表示されないのはなぜですか?

4

1 に答える 1

0

友人が問題を発見しました!

Django View のリターンで LIST を渡していました

これにより、実際のインデックスではなくオブジェクトが表示されます:/次のようなものが出てきます:

[u'\u0628', u'\u0626\u0647', u'\u062c', u'\u0627', u'\u0686'] 

そこで、インデックスを文字列に結合するようにビューを変更し、次に LIST ではなく文字列を渡しました。

Latin = ''.join(Latin)
于 2013-03-16T10:09:21.010 に答える