副标题:Jmeter中Jython中文乱码
被这个问题折腾了差不多两个小时,终于解决了,但是具体为什么会这样,还是不太明白。在pycharm里面(py3.7)一切都是正常的,换到Jmeter的Jython里面就各种问题。
直接贴代码,大家应该都能看懂
import random
def randChar():
# 从str中随机选择一个字返回
str="一二三四"
return str[random.choice(range(len(str)))]
c = randChar()
log.info(c) # 控制台输出乱码
log.info(c.decode("utf8")) # 报错
----------------------------------------------
解决方法一:
把randChar()里面的str="一二三四"改成str=["一","二","三","四"]就不会出现问题
但是如果内容很多,这种方法就不适用,可能有人会说,用list(str)就可以了,但实际上用这种方法也会报错。
具体效果你可以尝试一下。
解决方法二:
把randChar()里面的str="一二三四"改为str="一二三四".decode("utf8")
然后直接
c=randChar()
log.info(c) # 输出正确中文