다음과 같은 에러 메시지를 만나면 당황하게 됩니다.

  File "C:\Program Files\Google\google_appengine\google\appengine\tools\devappserver2\wsgi_server.py", line 31, in <module>

    from cherrypy import wsgiserver

  File "C:\Program Files\Google\google_appengine\lib\cherrypy\cherrypy\__init__.py", line 70, in <module>

    from cherrypy import _cptools

  File "C:\Program Files\Google\google_appengine\lib\cherrypy\cherrypy\_cptools.py", line 245, in <module>

    from cherrypy.lib import cptools, encoding, auth, static, jsontools

  File "C:\Program Files\Google\google_appengine\lib\cherrypy\cherrypy\lib\static.py", line 7, in <module>

    mimetypes.init()

  File "C:\Python27\lib\mimetypes.py", line 358, in init

    db.read_windows_registry()

  File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry

    for subkeyname in enum_types(hkcr):

  File "C:\Python27\lib\mimetypes.py", line 249, in enum_types

    ctype = ctype.encode(default_encoding) # omit in 3.x!

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb1 in position 9: ordinal not in range(128)



C:\Python27\Lib 폴더의 mimetypes.py 249번째 줄에서 발생한 에러입니다.


편집기로 열어서 지우거나 앞에 #을 붙여서 주석처리합니다.

끝!


추가로 메모장에서 한글을 사용하는 경우, 파일 > 다른 이름으로 저장 메뉴를 선택하고 인코딩을 UTF-8로 저장하는 것을 추천합니다.


안녕, World! 보기 쉽지 않네요.



관련 글: http://stackoverflow.com/questions/4237898/unicodedecodeerror-ascii-codec-cant-decode-byte-0xe0-in-position-0-ordinal/4238212#4238212



구글 앱엔진 시작하기 윈도우XP 편


구글 앱엔진 애플리케이션 업로드



웹에서 유니코드 문자열을 다루는 일은 제법 걸림이 됩니다. 어제도 웹서비스를 스트림으로 읽어서 처리하는 가운데 한글이 유니코드 문자열로 반환되는 바람에 애를 먹었었는데, 다행히 2004년에 비슷한 이유로 만든 코드를 이용해서 해결했습니다.

유니코드문자열을 캐릭터문자열로 바꾸는 클래스, 작은 것이지만 구글 코드를 통해서 공유합니다. http://code.google.com/p/unicodereader
사용자 삽입 이미지

테스트케이스도 같이 있기 때문에 쉽게 적용하실 수 있을 것입니다.
라이센스는 아파치 라이센스 2.0 입니다. 제가 이해하기로는 맘대로 쓰셔도 될 것입니다. 메소드 주석의 저작자 @author 만 남겨주세요. ^^


서브버전을 통해서 이클립스 프로젝트 형태로 등록도 해 놓았습니다. 모쪼록 개발에 도움이 되길 바랍니다. 행복하세요.

+ Recent posts