Javascript python3打印函数发出';ascii';编解码器可以';t编码字符错误

Javascript python3打印函数发出';ascii';编解码器可以';t编码字符错误,javascript,python-3.x,unicode,encoding,non-ascii-characters,Javascript,Python 3.x,Unicode,Encoding,Non Ascii Characters,用户在我的网站上输入字符串。它们输入一个非ascii字符 javascript保存输入,用JSON.stringify()对其进行打包,并将其发送到服务器 运行Python3的服务器使用JSON.loads解压JSON,并将该字符串保存在节点对象中,然后运行该行 print('looks like {}'.format(node_obj)) 我收到了错误 'ascii' codec can't encode character error '\u2212' in position 941: o

用户在我的网站上输入字符串。它们输入一个非ascii字符

javascript保存输入,用JSON.stringify()对其进行打包,并将其发送到服务器

运行Python3的服务器使用JSON.loads解压JSON,并将该字符串保存在节点对象中,然后运行该行

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编码转换为字节对象?)

我的FreeBSD服务器是否可能不支持UTF-8,从而导致Python的打印函数进行此转换?或者可能字符串从一开始就没有被正确地清理过,当我第一次从用户那里收到它时,我应该在javascript中这样做


让我知道哪些进一步的信息对您有用。

语言环境命令说明了什么

您可以让Python将utf-8与
LANG=en_US.utf-8
PYTHONIOENCODING=utf-8
一起使用


在默认环境中设置LANG取决于平台:

%locale LANG=LC\u CTYPE=“C”LC\u COLLATE=“C”LC\u TIME=“C”LC\u NUMERIC=“C”LC\u MESSAGES=“C”LC\u ALL=我认为运行
导出LANG=“en\u US.UTF-8”
对我来说很有效。在接受答案之前,我将等待一段时间,因为我想确保答案是正确的。是的,将
LANG
环境变量设置为使用UTF-8,以适合您的操作系统的任何方式,都是正确的解决方案。