나는 그것이 '£'문자가 포함되어 아래와 같이 'a.desc'에 저장된 문자열에Python : 유니 코드 문자열을 허용하도록 StringIO.writelines를 얻는 방법은 무엇입니까?
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa3' in position 34: ordinal not in range(128)
을 얻고있다. 유니 코드 문자열로 기본 Google App Engine 데이터 저장소에 저장되므로 괜찮습니다. cStringIO.StringIO.writelines 기능은 겉으로는 아스키 형식으로 인코딩하려고 노력하고있다 :
result.writelines(['blahblah',a.desc,'blahblahblah'])
어떻게 그 올바른 말씨가의 경우는 유니 코드로 인코딩을 처리하도록 지시 하는가?
애플리케이션 엔진 파이썬 2.5
나는 (cStringIO는 성능면에서 더 좋음을 의미한다) 오류가 발생하지 않았지만 '£'대신 'Â £'을 인쇄했다. 왜 지금 'Â'이 (가) 표시됩니까? – rutherford
'£'는 UTF-8 인코딩 인 0xc2 0xa3의 Windows-1252 디코딩입니다. 어쩌면 터미널, 앱 또는보고있는 곳이면 UTF-8 대신 Windows-1252 용으로 구성되었을 것입니다. – Phil
흠. 기본적으로 저는 Chrome 브라우저를 통해 웹 서버 응답을보고 있습니다. 그것이 문제일까요? – rutherford