开发者社区> 问答> 正文

win系统python开发中文字符?报错

http://www.oschina.net/question/222809_86901(以前的问题在这里)


后来自己用在输出的结果变量后面加入“decode(''unicode-escape').encode(''utf-8)"解决。

#coding=utf8


text="测试"  #这里的变量必须是str类型
print text.decode('unicode-escape').encode(''utf-8)


1.用tornando框架想写一个Blog程序,但就卡在了输出的地方。

  返回的都是"unicode"字符集的编码。

   在使用tornado自带的database模块里面SQL返回的数据是list格式的,

   如果把其str化在编码解码后,运行还是会报错。

2.网上很多朋友说要把MYSQL的默认字符集更改一下,新版本中的MYSQL貌似已经是默认的“UTF8”字符集,

  只是在终端输出的时候,会有“乱码”,更改一下mysql的字符即可解决,这只限于MYSQL控制台。

3.上面的“unicode-escape“这个解码我还是一知半解,望解释一下。


在win开发的pythoner可否有什么技巧可以提供一下呢?

感谢@xwz 兄之前提供的答案,但我自己还是没有决解。

展开
收起
爱吃鱼的程序员 2020-06-22 20:57:23 533 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    我以前也遇到过让人绝望的编码问题,总结了一下:

    1.在程序中无论何时都使用unicode处理字符串,如果是Python2.X给自己的字符串前加一个'u',然后尽情地使用unicode。(tornado是不是默认unicode,我不知道,如果是果断使用unicode处理)

    2.可以直接将unicode输出到IDLE或cmd.exe,系统会自动转换为gbk输出(前提是你系统的代码页是cp936或gbk)。

    3.保存文本文件时,将unicode转换为utf-8存入,读取时,将utf-8转换为unicode。写入数据库也要encode成utf-8,读取时utf-8要decode成unicode处理。

    4.至于linux下,我还没有试过,改天测试一下。

    另外可以参考这篇文章: http://my.oschina.net/apoptosis/blog/119187

    感谢你的回复,我已经解决了。什么都不用改,tornaodo使用的是unicode编码,只是在页面输出的时候在文件头"<metacharset="utf-8"/>"输出即可,在sublimetext2里面使用返回的是utf8编码,所以是无法正确现实的,在页面输出可以,编码解决了,后面的更痛苦,呵呵。
    2020-06-22 20:57:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载