0
- 키워드가있는 라이브러리가 있습니다. 키워드는 테스트 문서에 몇 가지 메시지를 씁니다.
utf-8
에서이 파이썬 파일 및 향하고하여 필요했다# -*- coding: utf-8 -*-
*.robot
파일이 비 ASCII 기호와 로봇 파일에이 키워드의utf-8
실행에있는 것은 제공 :로봇 프레임 워크 : 이전 형식 % s과 새 형식 간의 인코딩 차이점
- 하는 경우 키워드는
"%s" % msg
: 오류 없음, 로그 파일은 일반적으로 표시되는 러시아어 메시지를 제공합니다. 키워드"{}".format(msg)
또는"{!s}".format(msg)
이있는 경우 - : 나는 당신이 볼 수 있듯이, 나는 새로운 방법에 서식에만 오래된 파이썬을 변경 오류
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-10: ordinal not in range(128)
를 얻을. 그러나이 문제를 해결하는 방법은 이전 형식의 서식을 사용하지 않고 새로운 방식으로 오류를 표시하는 것이 아닌가?
하지 작동합니다. 1. 나는 모든 러시아어 텍스트가 제거되고 그 이유가 2이기 때문에 어떤 것도 대체 할 수 없다. 문제는 어떻게 든 문자열 ""{} "이 (는)''ascii '인코딩을 갖는다는 것이다. 그 이유는 유니 코드 러시아 문자열 인'msg'가'ascii '로 변환 될 수 없기 때문입니다. 나는 RTFM을 가지고 있고 나는 py 파일의 헤더가 작동해야한다는 것을 안다. (나는이 헤더를'# - * - coding : utf-8 - * -'로 설정했다.) 그러나이 파일의 문자열은 여전히''ascii ''이다. 상수 문자열을 유니 코드로 명시 적으로 정의하면이 문제를 해결할 수 있습니다.''u ''로 문자열을 작성하면 오류가 발생하지 않습니다. 그러나 헤더가 작동하지 않는 이유는 무엇입니까? –