源码:
[root@Debian 4test]#cat
test.py #!/usr/bin/python
# _*_ coding: utf-8 _*_
print u"\u5929"
环境 1:
在 mac 自带终端下, 可以打印出字符非常顺利。 mac 的 terminal 是支持 UTF-8 和 GBK 或者其他乱七八糟的编码的。所以这也合情合理。
环境 2:
通过 ssh 连接 debian 可以再次运行, 会报错如下
[root@Debian 4test]#./
test.py Traceback (most recent call last):
File "./
test.py", line 5, in <module>
print u"\u5929"
UnicodeEncodeError: 'ascii' codec can't encode character u'\u5929' in position 0: ordinal not in range(128)
搜索最后的报错信息,
http://www.saltycrane.com/blog/2008/11/python-unicodeencodeerror-ascii-codec-cant-encode-character/, 个人认为解决方法复杂不好。
环境详细配置:
[root@Debian 4test]#locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
库文件信息
[root@Debian 4test]#tree /usr/lib/locale
/usr/lib/locale
|-- C.UTF-8
| |-- LC_ADDRESS
| |-- LC_COLLATE
| |-- LC_CTYPE
| |-- LC_IDENTIFICATION
| |-- LC_MEASUREMENT
| |-- LC_MESSAGES
| | `-- SYS_LC_MESSAGES
| |-- LC_MONETARY
| |-- LC_NAME
| |-- LC_NUMERIC
| |-- LC_PAPER
| |-- LC_TELEPHONE
| `-- LC_TIME
`-- locale-archive
2 directories, 13 files
希望得到指点。我目前感觉是没有中文字体库的原因。我安装的是最小的(standard)版本。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/300834
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.