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>