1,先判断IDE编辑器内部的编码,判断方法如下:

>>> s='你好'
>>> s
'\xe4\xbd\xa0\xe5\xa5\xbd'    #这里如果是utf8编码,那编辑器就是utf8编码,或者是gbk编码

2,发送数据时,发送的中文字符串的编码,就是编辑器内部的编码(所以上一步异常重要)。

3,注意u的问题,默认utf8编码的编辑器中(eric编辑器中),中文前边加u,能自动转换为unicode,默认gbk编码的编辑器中(IDLE中),中文前边加u,会出现问题。具体看下专题中的详细介绍,http://www.cnblogs.com/feichengwulai/articles/3460289.html

4,重点看结果。不管是unicode方法编码转换,还是decode转换,还是encode转换在IDLE下都可以声明一个变量,接收转换后的结果,然后直接打印出来结果,直观的看到字符串的编码,如下所示:

>>> s='你好'
>>> s
'\xe4\xbd\xa0\xe5\xa5\xbd'

 

>>> s2='你好'.decode('gbk')
>>> s2
u'\u4f60\u597d'

5,一定要确保传输的中文字符串,是编码过的,否则一定会出现乱码。我这边同理要确认我接收的是经过编码后的中文字符串,那我这边也不会出现乱码问题。

6,以上方法适用于所有语言。

 

@总结:

1,ide内部的编码,或者Sql,mysql等数据库内部的编码,首先要确定这些ide的编码,就能确定发送的编码,当然认为设置的除外。

---所以,最保险的方法还是认为设置编码。

2,确定了发送的编码格式,下边就是接收的解码格式,对应即可。

3,就像尺子的两端,最重要的还是起点和终点。

posted on 2014-04-09 12:01  学到老死  阅读(1635)  评论(0编辑  收藏  举报