2013-03-16 3 views
0

이 응용 프로그램은 Python 2.7에서 정상적으로 작동합니다.Django : 장고에서 인코딩을 찾을 수 없습니다.

예를 들어 "من"을 "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") 

이제 이것을 장고 기능으로 변경했습니다. 이상한 동작이 나타납니다.

장고 기능 : 만 결과가 될 것입니다 무엇을 테스트하고 있습니다

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

! 내가 편지의 앞에 u''을 넣으면

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

이 나오는 것입니다 :

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

은 누군가가 친절하게 일어나는 뭐죠 제발 말해 주실 래요 이제이 HTML 페이지에 표시 것입니다 ? html 페이지에 글자가 나타나지 않는 이유는 무엇입니까?

+0

을 html로 설정 했습니까? – linbo

+0

예 HTML 페이지에서 도 있습니다! – 0bserver07

답변

0

친구가 문제를 발견했습니다.

내가하지 실제 인덱스 오브젝트를 보여주는 발생

장고보기의 대가로 LIST를 통과했다

이 같은/ 뭔가 나오는 :

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

그래서 내가 가입보기를 변경 문자열에 대한 색인을 작성한 다음 LIST가 아닌 문자열을 전달하십시오.

Latin = ''.join(Latin) 
관련 문제