跑ubuntu 14.04时,运行自己写的python3脚本发现在
这个症状不仅仅出现在python中,甚至是ubuntu中文件用
最初怀疑是用的PUTTY不支持中文,搜了一圈下来发现PUTTY早就已经是默认采用UTF-8编码了,所以完全不关PUTTY的事情。
然后开始怀疑是不是ubuntu为英文环境没有中文语言支持,按照一般方法
然后
安装中文语言包
接下来编辑文件
我也不太清楚为何修改不会生效,反正是折腾了半天修改了能修改的文件还是没用
直到找到了利用
注意有些地方写到
这种改变只针对本次启动有效,系统重启后还是会恢复默认,所以每次开机后都需要执行
Ubuntu 15.04中似乎已经解决了这个问题。
print
中文时会报如ascii之类的错误;想想python3不是早就解决了中文编码问题,全部采用unicode了么,折腾一大圈后才发现是ubuntu本身的问题。这个症状不仅仅出现在python中,甚至是ubuntu中文件用
nano
打开,里面的中文也会显示乱码。最初怀疑是用的PUTTY不支持中文,搜了一圈下来发现PUTTY早就已经是默认采用UTF-8编码了,所以完全不关PUTTY的事情。
然后开始怀疑是不是ubuntu为英文环境没有中文语言支持,按照一般方法
locale
后发现LANG
和LANGUAGE
为缺省,然后
locale -a
列表中似乎并没有如zh_CN
之类的语言包,安装中文语言包
apt-get install language-pack-zh-hans
然后添加中文支持locale-gen zh_CN.UTF-8
成功后继续locale -a
出现zh_CN.utf8
了接下来编辑文件
nano /etc/default/locale
设置LANG="zh_CN.uft8"
LANGUAGE="zh_CN.utf8"
然后重启服务器reboot
用python测试print('是')
发现PUTTY中根本打不了“是”,重新locale
发现LANG
和LANGUAGE
还是缺省!修改了根本不管用!我也不太清楚为何修改不会生效,反正是折腾了半天修改了能修改的文件还是没用
直到找到了利用
LC_ALL
修改全部语言设置的命令export LC_ALL='zh_CN.utf8'
马上locale
全部的语言设置都变成zh_CN了,python也能正常工作,系统提示也是中文了!注意有些地方写到
export LC_ALL='zh_CN.UTF-8'
这里直接生搬硬套的话不会有任何效果的,正确的方法是:locale
查询是否有如zh_CN的语言支持- 没有的话执行
locale-gen zh_CN.UTF-8
- 加入中文支持后再次
locale
- 使用
locale
中显示的zh_CN使用export
命令,如export LC_ALL='zh_CN.utf8'
或`export
LC_ALL='zh_CN.UTF-8'`
这种改变只针对本次启动有效,系统重启后还是会恢复默认,所以每次开机后都需要执行
export LC_ALL='xxx'
或直接将其加入启动。Ubuntu 15.04中似乎已经解决了这个问题。
No comments:
Post a Comment