IT Share you

UnicodeEncodeError : 'ascii'코덱은 특수 이름의 문자를 인코딩 할 수 없습니다.

shareyou 2020. 11. 15. 12:06
반응형

UnicodeEncodeError : 'ascii'코덱은 특수 이름의 문자를 인코딩 할 수 없습니다.


내 Python (ver 2.7) 스크립트가 로컬 html 파일에서 일부 회사 이름을 가져 오기 위해 잘 실행되고 있지만 특정 국가 이름의 경우 "UnicodeEncodeError : 'ascii'codec ca n't encode character"오류가 표시됩니다.

이 회사 이름이 올 때 특히 오류가 발생

회사 이름 : Kühlfix Kälteanlagen Ing. Gerhard Doczekal & Co. KG

링크를 처리 할 수 ​​없습니다.

Traceback (most recent call last): 
  File "C:\Python27\Process2.py", line 261, in <module>
    flog.write("\nCompany Name: "+str(pCompanyName))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 9: ordinal not in range(128)

이 코드 줄에 오류가 있습니다.

if companyAlreadyKnown == 0:
   for hit in soup2.findAll("h1"):
       print "Company Name: "+hit.text
       pCompanyName = hit.text
       flog.write("\nCompany Name: "+str(pCompanyName))
       companyObj.setCompanyName(pCompanyName)

utf-8스크립트 시작 부분에서 시스템 기본 인코딩을 설정하여 모든 문자열이이를 사용하여 인코딩되도록하십시오.

예 -

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

위의 경우 기본 인코딩을 utf-8.


당신은 정말로 이것을하고 싶다

flog.write("\nCompany Name: "+ pCompanyName.encode('utf-8'))

이것은이 유니 코드 프레젠테이션 (슬라이드 32에서 35)에 설명 된 "늦게 인코딩"전략 입니다.

참고 URL : https://stackoverflow.com/questions/31137552/unicodeencodeerror-ascii-codec-cant-encode-character-at-special-name

반응형