用户在我的网站上输入字符串。他们输入了一个非ascii字符。
javascript保存输入,用JSON.stringify()打包,并将其发送到服务器。
运行Python3的服务器使用json.loads解压缩JSON并将此字符串保存在Node对象中,然后运行该行
print('looks like {}'.format(node_obj))
我收到错误
'ascii' codec can't encode character error '\u2212' in position 941: ordinal not in range(128)
在我看来,Python3中的print函数试图将unicode字符串转换为ascii! (使用ascii编码转换为bytes对象?)
我的FreeBSD服务器是否可能不支持UTF-8,导致Python的打印功能进行此转换?或者字符串从来没有在第一时间进行过正确的清理,当我第一次从用户那里收到它时,我应该在javascript中这样做?
让我知道哪些更多信息对您有用。
答案 0 :(得分:4)
Name: Label58
Caption: Text57
Visible: Yes
命令说什么?
您可以将Python与locale
或LANG=en_US.UTF-8
一起使用utf-8。
在默认环境中设置LANG取决于平台:https://unix.stackexchange.com/questions/342817/how-do-i-add-a-language-in-freebsd