首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python3.0 中文乱码有关问题

2012-03-21 
python3.0 中文乱码问题import sysprint(sys.getdefaultencoding())s input(:)bs.encode(utf-8)pri

python3.0 中文乱码问题
import sys
print(sys.getdefaultencoding())
s = input(":")
b=s.encode('utf-8') 
print(b.decode('utf-8')) 

用键盘输入中文字符 最后打印出来的是乱码 怎样使 encode decode 过程后的输出是正常的中文?系统默认的编码是utf-8

[解决办法]
s = input(":")
print(s.decode('gbk'))
试试。
[解决办法]
楼主要写的程序是网络程序,那么就一定要规定客户端用什么编码发送字符串,这样你才知道怎么解码。建议使用UTF-8编码。

另外,楼主在XP下输入中文测试,我猜可能编码是GBK,所以楼主试试看先把GBK转成unicode,然后再转成UTF-8,如下:

unicode = input.decode("GBK")
utf8 = unicode.encode("utf-8")
print utf8
[解决办法]
我用你的代码,没有任何问题。我是windows下DOS窗口中运行的:
E:\Program\Linux_Share\python>type a.py
import sys
print(sys.getdefaultencoding())
s = input(":")
b=s.encode('utf-8')
print(b.decode('utf-8'))

E:\Program\Linux_Share\python>a.py
utf-8
:你好吗,我是明天的太阳
你好吗,我是明天的太阳

E:\Program\Linux_Share\python>

热点排行