[本文仅供Python2用户参考]
如果你不能判断自己的Linux发行版有没有这个坑,可以下一个有中文的文本,然后用nano之类的编辑器打开。
若文档打开后,中文都变成乱码空格或者特殊符号,而此时你的console使用了UTF-8显示,那么就应该存在着这个坑。
如果不理会的话,当你以UTF-8格式输入中文,print输出会抛出异常,以Unicode输入,print则可能卡死一个TTY。
当然,解决很容易,你只需要重新设定下locale。
以debain系Linux发行版为例,你需要使用这个命令重新设置下:
dpkg-reconfigure locales
如果你没安装那就装一下 = =
aptitude install locales
设置的命令执行后,会弹出一个类图形界面。
可以通过 page up/dn 翻页、空格键选择或撤销一种编码。
你需要做的是选中以下编码:
en_US.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN.GB2312
zh_CN.UTF-8 UTF-8
接着下一步,提示选择默认编码时,建议选 en_US
然后默默重启下系统,待再次开机,原来会报错的代码就不会报错了。
(没想到这个破事坑了咱半个小时)
以上。