2016-12-20 8 views
3

내가 파이썬 2.7를 사용하고 올바르게 아랍어 텍스트를 인쇄하고 내가 그것을 다음과 같은 출력 줄의이파이썬

print "ذهب الطالب الى المدرسة" 

같은 아랍어 문자열을 인쇄하려고합니다 :

ط°ظ‡ط¨ ط§ظ„ط·ط§ظ„ط¨ ط§ظ„ظ‰ ط§ظ„ظ…ط¯ط±ط³ط© 

목적은 인쇄하는 것입니다 텍스트를 올바르게 인쇄하고 각 행을 인쇄하는 방법이 아닙니다. 그렇다면 텍스트 파일의 문자열이나 내용을 원래 형식으로 올바르게 인쇄하려면 어떻게해야합니까? 같은 :

ذهب الطالب الى المدرسة 
+3

더 나은 스위치를 파이썬 3.5 – ForceBru

+1

@ForceBru "파이썬 3.6은 파이썬 3이라고 불릴 만하다."- 레이몬드 헤팅거 (Raymond Hettinger). 그래서 Python3.6으로 바꾼다 – MYGz

답변

0

이 시도 :

print u"ذهب الطالب الى المدرسة" 

출력 :

ذهب الطالب الى المدرسة 

데모 : https://repl.it/EuHM/0

기본 Python2.7 문자열이 UTF-8 문자 세트와 함께 작동합니다. 그리고 아랍어는 utf-8 안에 포함되어 있지 않습니다. 따라서 접두사 앞에 u을 붙이면 해당 문자열을 유니 코드 문자열로 처리합니다.

+0

나는 UnicodeEncodeError : 'ascii'코덱은 0-2의 문자를 인코딩 할 수 없다 : 서수가 범위 내에 없다 (128) –

+0

@MohammedSy 그 문자열의 근원은 무엇인가? Python2.7도 사용하고 있지만 오류가 발생하지는 않습니다. – MYGz

+0

필자는 키보드에서 문자열을 썼는데 문제가 아니라 코드로 해결할 수 있다고 생각한다. 아마도 윈도우즈 인코딩에서이 문제가 발생했을 것이다. –

0
파이썬에서

2.7

파일의 맨 위에 당신은 선언 할 수

# -*- coding: utf-8 -*- 
print "ذهب الطالب الى المدرسة" 

업데이트 :

이 실행할 수있는 경우 :

# -*- coding: utf-8 -*- 
s = "ذهب الطالب الى المدرسة" 
with open("file.txt", "w", encoding="utf-8") as myfile: 
    myfile.write(s) 

을 그리고 생성 된 "file.txt"파일에는 해당 파일이 들어 있습니다. ct string 그렇다면 파이썬 자체가 아니라면 무엇이든지 표시하는 데 문제가 있습니다. 뭔가 다른 것으로, 아마도 PyQt로 표시해 볼 수도 있습니다.

+0

같은 문제 : ط ° ظ ‡ ط ط§ظ "ط · ط§ظ"ط ط§ظ "ظ ‰ ط§ظ"ظ ... ط¯ط ± ط³ط 무엇으로 –

+0

© 파이썬의 인쇄물이 렌더링되고 있습니까? 파이썬이 유니 코드를 정확하게 방출 할 수도 있지만 그렇다고해서 화면의 픽셀과 기호로 변환하는 것이 옳다는 것을 의미하지는 않습니다. – nigel222

0

는이

print u"ذهب الطالب الى المدرسة" 

처럼 u

import sys 
reload(sys) 
sys.setdefaultencoding('utf-8') 
print "ذهب الطالب الى المدرسة" 
1

당신은 당신의 문자열을 접두사 수 있습니다 코드 전에 일부 라인을 추가하거나 python3와 자신이 호환과의 정상에 넣고 필요 파일

from __future__ import unicode_literals 

파이썬 27 strings (또는 은 파이썬 3에서 알 수 있듯이) 유니 코드 문자를 처리하지 않습니다. uimport 문은 문자열 유니 코드를 호환 가능하게 만듭니다.