Python在Linux环境开发的编码问题

软件和网站开发以及相关技术探讨
回复
头像
yudun1989
帖子: 75
注册时间: 2009-10-16 11:02
来自: &address
联系:

Python在Linux环境开发的编码问题

#1

帖子 yudun1989 » 2011-03-11 17:00

:em06
小弟在LInux和Python开发方面都是新手,最近照着网上的资料自己联系抓取网页内容。在ubuntu10.10环境下用eclipse+Pydev写了如下代码

代码: 全选

import os, sys
import urllib


def catchHtmlLines(url):
    if url==None : return 
    try:
        page = urllib.urlopen(url)
        print 'success'
        html = page.readlines()
        page.close()
        return html
    except:
        print "gGetHtmlLines() error!"
        return
print catchHtmlLines('http://manglu.net/')
结果发现eclipse控制台输出的竟然没有中文!仔细分析下抓取下来的内容,发现英文显示正确,中文都显示成了 \xe5\xb9\xb43这样的内容,于是我试着print 一个中文字符串,结果直接就出现了
SyntaxError: Non-ASCII character '\xe5' in file /home/yudun/workspace/py/PythonPractise/src/catchLines.py on line 24, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
平常用eclipse+java全是utf-8没有问题,为什么一到python就不能输入输出中文了呢,起初我认为是eclipse的问题,之后发现vim编写之后用python aa.py运行也会这样。
请问一下,这种情况我应该如何解决?
我的OS版本为ubuntu 10.10.
注:
我按照网上的方法更改了locales,结果问题更大了,vim了一个java,编译都编译不了了。。。

代码: 全选

ell.java:3: 警告:编码 UTF8 的不可映射字符
System.out.println("���");
hello ubuntu
头像
yudun1989
帖子: 75
注册时间: 2009-10-16 11:02
来自: &address
联系:

Re: Python在Linux环境开发的编码问题

#2

帖子 yudun1989 » 2011-03-11 17:01

顺便说一下,我用myeclipse编写java,用eclipse+dev写python,现在java在myeclipse中没问题,在vim中有问题,python哪都有问题,。。。。
hello ubuntu
头像
acer4740
帖子: 1405
注册时间: 2010-09-13 19:04
来自: 0xFF00EE

Re: Python在Linux环境开发的编码问题

#3

帖子 acer4740 » 2011-03-11 17:06

在最后一句加上.decode("utf8")
头像
acer4740
帖子: 1405
注册时间: 2010-09-13 19:04
来自: 0xFF00EE

Re: Python在Linux环境开发的编码问题

#4

帖子 acer4740 » 2011-03-11 17:08

还有用read()不要用readlines()
回复