Python论坛  - 讨论区

标题:[python-chinese] 中文乱码问题

2006年11月25日 星期六 21:03

一只小蚂蚁 qixiangnj在gmail.com
星期六 十一月 25 21:03:15 HKT 2006

Ö´ÐÐÕâÑùµÄ´úÂ룺
import urllib
usock = urllib.urlopen("http://www.csdn.net")
print usock.read()
ÖÐÎIJ¿·Ö»á³öÏÖÂÒÂ룬Èç¹û»»³Éhttp://www.baidu.comµÄ»°£¬ÔòÕý³£¡£
ÕâÊÇʲôԭÒò£¬ÈçºÎ½â¾ö£¿Ð»Ð»¡£
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20061125/6f3f97d9/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月25日 星期六 21:32

yi huang yi.codeplayer在gmail.com
星期六 十一月 25 21:32:08 HKT 2006

import urllib
usock = urllib.urlopen("http://www.csdn.net")
content = usock.read()
print content.decode('utf-8').encode('gb2312','ignore')

On 11/25/06, 一只小蚂蚁 <qixiangnj at gmail.com> wrote:
>
> 执行这样的代码:
> import urllib
> usock = urllib.urlopen("http://www.csdn.net")
> print usock.read()
> 中文部分会出现乱码,如果换成http://www.baidu.com的话,则正常
> <http://www.baidu.com%E7%9A%84%E8%AF%9D%EF%BC%8C%E5%88%99%E6%AD%A3%E5%B8%B8>
>> 这是什么原因,如何解决?谢谢。
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>



-- 
http://codeplayer.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061125/5a926d40/attachment-0001.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月25日 星期六 21:47

一只小蚂蚁 qixiangnj在gmail.com
星期六 十一月 25 21:47:57 HKT 2006

thanks!
-------------- 下一部分 --------------
??HTML?????...
URL: http://python.cn/pipermail/python-chinese/attachments/20061125/534807de/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月25日 星期六 22:00

fdu.xiaojf在gmail.com fdu.xiaojf在gmail.com
星期六 十一月 25 22:00:47 HKT 2006

yi huang wrote:
> import urllib
> usock = urllib.urlopen("http://www.csdn.net <http://www.csdn.net/>")
> content = usock.read()
> print content.decode ('utf-8').encode('gb2312','ignore')

  我觉得最后转换成gbk编码可能更好一点,因为windows默认的编码是gbk的,而且 
gb2312确实太小了

>
> On 11/25/06, *一只小蚂蚁* <qixiangnj在gmail.com 
> qixiangnj在gmail.com>> wrote:
>
>     执行这样的代码:
>     import urllib
>     usock = urllib.urlopen("http://www.csdn.net")
>     print usock.read()
>     中文部分会出现乱码,如果换成http: //www.baidu.com的话,则正常
>     <http://www.baidu.com%E7%9A%84%E8%AF%9D%EF%BC%8C%E5%88%99%E6%AD%A3%E5%
>     B8%B8>。
>     这是什么原因,如何解决?谢谢。
>
>   


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月26日 星期日 00:28

boyeestudio boyee118在gmail.com
星期日 十一月 26 00:28:02 HKT 2006

ÔÚÕâ¸öÓʼþÖУ¬ÎÒÒ²ÏëÎÊһϣ¬ÎÒ±»×î½ü¼¸¸öÓʼþŪºýÍ¿ÁË¡£
µ½µ×ʲôʱºòÓÃencode()£¬Ê²Ã´Ê±ºòÓÃdecode()£¬ÄÄλ´ó´óÏêϸ½âÊÍһϣ¡Ð»Ð»£¡


2006/11/25, fdu.xiaojf在gmail.com <fdu.xiaojf在gmail.com>:
>
> yi huang wrote:
> > import urllib
> > usock = urllib.urlopen("http://www.csdn.net <http://www.csdn.net/>")
> > content = usock.read()
> > print content.decode ('utf-8').encode('gb2312','ignore')
>
> ÎÒ¾õµÃ×îºóת»»³Égbk±àÂë¿ÉÄܸüºÃÒ»µã,ÒòΪwindowsĬÈϵıàÂëÊÇgbkµÄ,¶øÇÒ
> gb2312ȷʵ̫СÁË
>
> >
> > On 11/25/06, *һֻСÂìÒÏ* <qixiangnj在gmail.com
> > qixiangnj在gmail.com>> wrote:
> >
> >     Ö´ÐÐÕâÑùµÄ´úÂ룺
> >     import urllib
> >     usock = urllib.urlopen("http://www.csdn.net")
> >     print usock.read()
> >     ÖÐÎIJ¿·Ö»á³öÏÖÂÒÂ룬Èç¹û»»³Éhttp: //www.baidu.comµÄ»°£¬ÔòÕý³£
> >     <
> http://www.baidu.com%E7%9A%84%E8%AF%9D%EF%BC%8C%E5%88%99%E6%AD%A3%E5%
> >     B8%B8>¡£
> >     ÕâÊÇʲôԭÒò£¬ÈçºÎ½â¾ö£¿Ð»Ð»¡£
> >
> >
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20061126/1cfb9810/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月26日 星期日 02:10

shhgs shhgs.efhilt在gmail.com
星期日 十一月 26 02:10:07 HKT 2006

Py的string从本质上讲是一个byte
array,因此没有什么编码一说。之所以在有些平台(Windows)上,这个字符串能正常显示,是因为这个byte
array的编码正好同这个平台的默认编码相同。

Py的字符串并不仅仅用来表示字符,很多时候,还可以用来表示内存里面的数据。比如struct就用字符串来表示C的struct。

Py真正的字符串是unicode。unicode是不讲编码的。unicode只能表示字符,其他什么都不能表示。Py的unicode是跨平台的。也就是说,同一个unicode对象在各个平台上都表示相同的字符串。

那么Py的unicode怎么同string相互转换呢?unicode是真正的字符串,string只是这个字符串按照某个编码表示的byte
array。因此,当你要把unicode表示成string的时候,用encode;把string转换成unicode的时候,用decode。

On 11/25/06, boyeestudio <boyee118在gmail.com> wrote:
> 在这个邮件中,我也想问一下,我被最近几个邮件弄糊涂了。
> 到底什么时候用encode(),什么时候用decode(),哪位大大详细解释一下!谢谢!
>
>
> 2006/11/25, fdu.xiaojf在gmail.com <fdu.xiaojf在gmail.com>:
> > yi huang wrote:
> > > import urllib
> > > usock = urllib.urlopen("http://www.csdn.net <http://www.csdn.net/>")
> > > content = usock.read()
> > > print content.decode
> ('utf-8').encode('gb2312','ignore')
> >
> > 我觉得最后转换成gbk编码可能更好一点,因为windows默认的编码是gbk的,而且
> > gb2312确实太小了
> >
> > >
> > > On 11/25/06, *一只小蚂蚁* <qixiangnj在gmail.com
> > > qixiangnj在gmail.com>> wrote:
> > >
> > >     执行这样的代码:
> > >     import urllib
> > >     usock = urllib.urlopen("http://www.csdn.net")
> > >     print usock.read()
> > >     中文部分会出现乱码,如果换成http: //www.baidu.com的话,则正常
> > >
> <http://www.baidu.com%E7%9A%84%E8%AF%9D%EF%BC%8C%E5%88%99%E6%AD%A3%E5%
> > >     B8%B8>。
> > >     这是什么原因,如何解决?谢谢。
> > >
> > >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> > Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月26日 星期日 04:38

lee venture liwenqiu在gmail.com
星期日 十一月 26 04:38:02 HKT 2006

举个例子: #coding: gbk

unicodestring = u"Hello, 中国"

#Convent Unicode to plain Python string: "encode"
utf8string = unicodestring.encode("utf-8")
utf16string = unicodestring.encode("utf-16")
gbkstring = unicodestring.encode("gbk")
cp932string = unicodestring.encode("cp932")

#Convent plain Python string to Unicode: "decode"
unicodestring1 = unicode(utf8string, "utf-8")
unicodestring2 = unicode(utf16string, "utf-16")
unicodestring3 = unicode(gbkstring, "gbk")
unicodestring4 = unicode(cp932string, "cp932")

概括的说,调用一个unicode对象的encode方法,返回相应编码的string对象;调用某种编码的string对象的decode或调用unicode方法,返回一个unicode对象


在06-11-26,boyeestudio <boyee118 at gmail.com> 写道:
>
> 在这个邮件中,我也想问一下,我被最近几个邮件弄糊涂了。
> 到底什么时候用encode(),什么时候用decode(),哪位大大详细解释一下!谢谢!
>
>
> 2006/11/25, fdu.xiaojf at gmail.com <fdu.xiaojf at gmail.com>:
> >
> > yi huang wrote:
> > > import urllib
> > > usock = urllib.urlopen("http://www.csdn.net <http://www.csdn.net/>")
> > > content = usock.read()
> > > print content.decode ('utf-8').encode('gb2312','ignore')
> >
> > 我觉得最后转换成gbk编码可能更好一点,因为windows默认的编码是gbk的,而且
> > gb2312确实太小了
> >
> > >
> > > On 11/25/06, *一只小蚂蚁* <qixiangnj at gmail.com
> > > qixiangnj at gmail.com>> wrote:
> > >
> > >     执行这样的代码:
> > >     import urllib
> > >     usock = urllib.urlopen("http://www.csdn.net")
> > >     print usock.read()
> > >     中文部分会出现乱码,如果换成http: //www.baidu.com的话,则正常
> > >     <
> > http://www.baidu.com%E7%9A%84%E8%AF%9D%EF%BC%8C%E5%88%99%E6%AD%A3%E5%>
> > >     B8%B8>。
> > >     这是什么原因,如何解决?谢谢。
> > >
> > >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061126/feac5778/attachment-0001.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月26日 星期日 11:38

boyeestudio boyee118在gmail.com
星期日 十一月 26 11:38:00 HKT 2006

¶àл¥ÉÏÁ½Î»!
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20061126/6da05ca7/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月30日 星期四 12:02

jindong chen chensdiscovery在gmail.com
星期四 十一月 30 12:02:43 HKT 2006

²âÊÔÁËһϣ¬·¢ÏÖÈçÏÂÎÊÌ⣺
ÔÚpythonwinÏÂ
>>> unicodestring = u"Hello, Öйú"
>>> unicodestring
u'Hello, \xd6\xd0\xb9\xfa'
ÔÚpythonÏÂ
>>> unicodestring = u"Hello, Öйú"
>>> unicodestring
u'Hello, \u4e2d\u56fd'

ÊÇ·ñpythonwinÏÂÐèÒªÉèÖã¿

ÔÚ06-11-26£¬boyeestudio <boyee118在gmail.com> дµÀ£º
>
> ¶àл¥ÉÏÁ½Î»!
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20061130/c5e53089/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月30日 星期四 19:52

FireBird ygonic在gmail.com
星期四 十一月 30 19:52:58 HKT 2006

深感受教。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号