python3打印功能发出' ascii'编解码器无法编码字符错误

时间:2017-02-07 20:44:12

标签: javascript python-3.x unicode encoding non-ascii-characters

用户在我的网站上输入字符串。他们输入了一个非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中这样做?

让我知道哪些更多信息对您有用。

1 个答案:

答案 0 :(得分:4)

Name: Label58 Caption: Text57 Visible: Yes 命令说什么?

您可以将Python与localeLANG=en_US.UTF-8一起使用utf-8。

在默认环境中设置LANG取决于平台:https://unix.stackexchange.com/questions/342817/how-do-i-add-a-language-in-freebsd