2013-03-23 4 views
2

일부 유니 코드 속성을 사용하는 Python (버전 2.7) 스크립트를 작성하는 데 어려움을 겪고 있습니다. 임베디드 로켈 패키지를 사용하려고 할 때 문제가 발생합니다.유니 코드 및 로케일 문제

# -*- coding: utf-8 -*- 
import datetime 
import os 
import locale 
locale.setlocale(locale.LC_ALL, 'greek') 
day = datetime.date.today() 
dayFull = day.strftime('%A') 
myString = u"ΚΑΛΗΜΕΡΑ" 
print myString 
print dayFull 

dayFull 동안 인쇄 (그리스 문자에서) 잘 현재 날짜 이름, myString는 물음표 문자로 콘솔에서 제공 : 여기에 문제가 발생하고있는 코드입니다. 어떻게 해결할 수 있습니까? 누군가 제 실수를 지적 할 수 있습니까?

P. 내 시스템은 Windows 7 시스템입니다.

+1

귀하의 문제 거짓말 Windows 콘솔을 사용하면 유니 코드를 제대로 처리 할 수 ​​없습니다. [Python, Unicode 및 Windows 콘솔] (http://stackoverflow.com/q/5419)을 참조하십시오. 요약하면 콘솔 코드 페이지, 유니 코드 문자 모양을 렌더링하는 데 사용되는 글꼴 및 Python 2가 65001 (Microsoft의 UTF-8 사용 코드) 코드 페이지를 인식하지 못하는 문제가 있습니다. –

+0

@Bakuriu 왜이 게시물에서 중요한 정보를 삭제 했습니까? –

+0

내 PC에서 UnicodeEncodeError로 완전히 실패합니다. 어떤 코드 페이지를 사용하고 있습니까? 알아 내려면 명령 프롬프트에서'chcp'를 입력하십시오. –

답변

3

콘솔에서 올바른 그리스 코드 페이지와 함께 그리스어를 지원하는 글꼴 (예 : Consolas)을 사용하십시오. 이것은 Windows 7 및 파이썬 2.7.3에서 나를 위해 일한 다음 (또한 그리스어) 737 코드 페이지로 3.3 올바르게 작동 참고

C:\>chcp 1253 
Active code page: 1253 

C:\>python temp.py 
ΚΑΛΗΜΕΡΑ 
Σάββατο 

, 파이썬,하지만 파이썬 2.7 인쇄 :

C:\>temp.py 
???????? 
Σάββατο 
+0

안타깝게도 내 콘솔에서 해결책은 두 문자열 모두에 대한 완전한 jubberish를 출력합니다 ... 그러나 메모장이나 다른 윈도우 프로그램에서 이러한 jubberish 문자를 복사하여 붙여 넣으면, 그 결과는 당신이 제안한 것처럼 그리스 문자가 가득 찼습니다 ... – kstratis

+1

사용중인 콘솔 글꼴이 문자를 지원하지 않음을 의미합니다. 나는 Consolas를 사용하고있다. 'Raster Fonts'로 전환하면 선 그리기 문자 등이 생깁니다. 나는 나의 대답을 업데이트했다. –

+0

고맙습니다. 이제 귀하의 솔루션은 약간 문제를 해결하고 잘 작동합니다. – kstratis