2017-02-13 6 views
0

나는 파이썬 코딩을 위해 숭고한 텍스트 3을 사용하고 있습니다. 그리고 키릴 문자 인코딩에는 몇 가지 문제가 있습니다.숭고한 텍스트 3 키릴 문자로 실패 io.write()

처음에는 키릴 문자가있는 파일을 빌드 (실행)하는 데 문제가있었습니다.

[cmd: ['python3', '-u', '-c', "import sys; import codecs; sys.stdout = codecs.getwriter('utf-8')(sys.stdout.detach()); exec(compile(open(r'/.../ducksearch.py', 'rb').read(), r'/.../ducksearch.py', 'exec'), globals(), locals())"]] [dir: /.../crowler] [path: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin]

그래서 지금은 나를 위해 괜찮아, 그것은 잘에서 키릴 문자 문자열 평 파일을 실행중인 :하지만 다음과 같은 만든 빌드 구성에 발견 솔루션을 것입니다. 내가 키릴 문자에서 파일을 작성하기 위해 노력하고있어하지만 그러한 메시지와 함께 다시 실패 :

UnicodeEncodeError: 'ascii' codec can't encode character '\u2019' in position 197: ordinal not in range(128)

을 같은 스크립트가 모두 python3에 cmd와 ENV ipython 잘 어울리는 동시에. 그래서 문제는 숭고한 시스템 또는 cfg에 있습니다. 그래서 내가 잘 작동하도록하기 위해 어떻게해야하는지 알려주시겠습니까? 여기

utf_8_text = html.unescape(html_entities) 

print(utf_8_text) 

fi = open('./tmp/tmp.html', 'w') 

try: 
    fi.write(utf_8_text) 
except Exception as e: 
    raise e 
finally: 
    fi.close() 

일부 입력 텍스트 예입니다 : 여기

내 코드의

К у л ь т у р а, п о м н е н и ю Е,о ф е е в а, е с т ь д и с т а н ц и я м е ж д у ч е л о о в е к м, т 01 о н е с к ь и м к к а, и т е м о б р а з о м, в к т о о о р м о 012,378,732,277,373,998,е б я в и д и т.н а с м е х а и с л е з п р и ч и, и р о-Н е а д е к в а т н о с т ь а г е д и и 739,986,648,683,210 и и и т р, о п р е д е л я ю а щ я х о д и с т о р и и, в о в а н и е у щ е с е с к о л о е с в е ч 10 е. н В о о в й к н и г е Е р о ф е е в а м и р ч е л о в е к а, к у л ь т у р а, л и т е р а т у р а 원래의 입력이 HTML 엔티티에

하지 키릴 실제로는 유래입니다 그래서 변환 : 나는했습니다

Культура, по мнению Ерофеева, есть дистанция между человеком, таким как он есть, и тем образом, в котором он себя видит. Неадекватность - причина смеха и слез, иронии итрагедии, определяющая ход истории, человеческое существование. В новой книге Ерофеева мир человека, культура, литература 

답변

1

해결책을 찾았습니다. 문제는 숭고한 텍스트 파이썬 환경에서 러시아어 지역화가 활성화되지 않았다는 것입니다. 그래서 지금은 파이썬에 대한 내 빌드 설정은 다음과 같이 보입니다. (인터프리터 호출에 끔찍한 args가 없다는 것을 지적하십시오). 그리고 콘솔에서의 출력과 파일로 작성하는 것 모두 잘 진행됩니다.

{ 
"cmd": ["python3", "-u", "$file"], 
"env": {"LANG": "ru_RU.UTF-8"}, 
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 
"selector": "source.python" 
}