加载中…
个人资料
新先森
新先森
  • 博客等级:
  • 博客积分:0
  • 博客访问:82,530
  • 关注人气:2
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

关于python的raw_input()使用,输出中文乱码问题解决办法--案例

(2017-03-25 10:14:52)
标签:

python

raw_input

中文乱码

二维码

分类: Python
版权说明:未经许可,不得转载


最近在使用python实现二维码的生成时,出现了中文乱码问题。和以前遇到的乱码问题不同,这次是raw_input()可以正常读取中文,但是打印出来的却是乱码。

具体需求说明:
用户通过cmd窗口输入相应的字符串(包括中英文,数字,符号),然后生成可以将该字符串扫描出来的二维码图片。

核心代码如下:
关于python的raw_input()使用,输出中文乱码问题解决办法--案例

用户输入:“123 is 数字!!”
程序运行后,生成的二维码扫描出来的结果如图:
关于python的raw_input()使用,输出中文乱码问题解决办法--案例
后面的“数字”显示为乱码。
然后网上百度了各种方法,还是没用。
最后我还是通过利用字符的编解码方式进行解决:
字符串在python内部的表示是unicode编码,所以在做编码转换的时候,一般都是以unicode作为中间编码。先把其他编码的字符串解码(decode)成unicode,然后再把该unicode编码(encode)成另一种编码。
在这次案例中,我的py文件是以utf-8无bom格式编码的,这个没有问题。那就说明在解码部分出现了问题,然后我在raw_input()后面加上decode('gbk'),将解编码方式改为gbk,然后重新运行程序,成功解决中文乱码问题!
关于python的raw_input()使用,输出中文乱码问题解决办法--案例

关于python的raw_input()使用,输出中文乱码问题解决办法--案例


------------------------------@weekdawn 2017 版权所有----------------------------------


0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有