我正在使用Evaluate关键字创建数组的数组,如下所示:
${ARRAY}= Evaluate [['one', 'two', 'thrée']]
问题是在python 2求值之后变量${ARRAY}
包含:
INFO : ${ARRAY} = [['one', 'two', 'thrxc3xa9e']]
问题是' ' '变成了xc3xa9。
在我的IDE中使用的编码是UTF-8,所以我猜它与python使用的默认编码有关。当运行以下脚本检查python中使用的编码时,我得到了这个:
cmd > python
Python 2.7.18 ... [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys;
>>> print(sys.stdin.encoding, sys.stdout.encoding)
('cp850', 'cp850')
>>> print(sys.getdefaultencoding())
ascii
所以我想知道我能做些什么来解决这个问题?我发现的大多数答案都与脚本更改有关,而不是由Robot Framework调用发起的内容。
手头没有py2可以尝试,如果将变量显式初始化为unicode:
${ARRAY}= Evaluate [['one', 'two', u'thrée']]
升级到python 3修复了这个问题。