xshell 登录 linux 执行执行下面命令:
python3
test.py '你好'
这一句目前是直接手动执行的,以后计划 php 内通过 exec()来执行
tesp.py 里面:
str = sys.argv[1]
print(str) //打印出来是“你好”
if str == "你好":
print('ok') //这一句没有输出,说明二者并不相同
下面这两句
print('你好'.encode('utf-8'))
print(str.encode('utf-8'))
第一句正常输出: // b'\xe4\xbd\xa0\xe5\xa5\xbd'
第二句报错: UnicodeEncodeError: 'utf-8' codec can't encode character '\udce4'
我想知道传递过来的参数,究竟发生了什么变化,明明都是“你好”,怎么会不一样
因为后面有一步关键操作需要 str.encode('utf-8') ,怎么样才能让它不报错?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/352585
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.