2017-12-22 4 views
1

내가 파이썬 3와 함께 UTF-8 XML 파일을 읽을하려고하지만 인코딩에 문제가 정말 이니파이썬으로 UTF-8 XML 파일을 읽으려고 3

In [47]: fileObj = codecs.open(file, "r", "utf-8") 

In [48]: fileObj.read() 
Out[48]: --------------------------------------------------------------------------- 
UnicodeEncodeError      Traceback (most recent call last) 
<ipython-input-48-dd7cd49f4aa8> in <module>() 
----> 1 fileObj.read() 

~/Documents/Projects/project/env/lib/python3.6/site-packages/IPython/core/displayhook.py in __call__(self, result) 
    259    self.fill_exec_result(result) 
    260    if format_dict: 
--> 261     self.write_format_data(format_dict, md_dict) 
    262     self.log_output(format_dict) 
    263    self.finish_displayhook() 

~/Documents/Projects/project/env/lib/python3.6/site-packages/IPython/core/displayhook.py in write_format_data(self, format_dict, md_dict) 
    188     result_repr = '\n' + result_repr 
    189 
--> 190   print(result_repr) 
    191 
    192  def update_user_ns(self, result): 

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

내가 틀린 곳?

+1

당신은 괜찮습니다. 변수에 할당하십시오. 그것은 실패하고있는 IPython의 디스플레이 훅입니다. 터미널 인코딩을 올바르게 구성하지 않았을 가능성이 큽니다. 또한'codecs.open'은 불필요하며 버그가있을 수 있습니다. 'open'은 Python3에서 잘 작동합니다. –

답변

0

마크가 맞습니다. 제 문제는 iPython에 있습니다.

나는 utf-8PYTHONIOENCODING ENV 변수를 설정 해결 :

export PYTHONIOENCODING="utf-8" 

감사합니다!

관련 문제