这个html的编码怎么确定?没有charset

lioujian47 2008-07-17 03:49:53
地址: http://www.cfi.net.cn/p20080716001458.html
声明:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

这个是head

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title id="pageTitle">有色金属:一周市场概况 行业的估值水平-[中财网]</title>
<meta content="False" name="vs_showGrid"/>
<meta content="JavaScript" name="vs_defaultClientScript"/>
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"/>
<base target="_blank"/>


</head
...全文
204 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lioujian47 2008-07-21
  • 打赏
  • 举报
回复
谢谢
wang154 2008-07-18
  • 打赏
  • 举报
回复
self.__s = s
... def Decode(self):
... CODES = ['utf-8', 'gbk', ] ##可以在此增加字符编码方式
... for code in CODES:
... try:
... self.__s = self.__s.decode(code)
... self.__codetype = code
... break
... except:
... continue
... def Encode(self, codetype):
... self.__s = self.__s.encode(codetype)
... self.__c金山毒霸免费下载odetype = codetype
... def GetStr(self):
... return self.__s
...
>>> m = MyCode(s)
>>> m.Decode()
>>> m.Encode('utf-8')
>>> m.Decode()
>>> m.Encode('gbk')
maplele20 2008-07-18
  • 打赏
  • 举报
回复
你还是用上面的那个封装类吧,这样子代码的健壮性和扩展性都比较好。
lioujian47 2008-07-18
  • 打赏
  • 举报
回复
对了,我还有个相关的问题.
一般来说,header里面的charset和html中的charset会不会有不一样的情况:
比如header里面是charset=utf-8
而html成了charset=gbk?
lioujian47 2008-07-17
  • 打赏
  • 举报
回复
哦,找到header了,谢谢

Connection: close

Date: Thu, 17 Jul 2008 08:19:00 GMT

Server: Microsoft-IIS/6.0

MicrosoftOfficeWebServer: 5.0_Pub

X-Powered-By: ASP.NET

X-AspNet-Version: 2.0.50727

Cache-Control: private

Content-Type: text/html; charset=utf-8

Content-Length: 15045

wx红杉树 2008-07-17
  • 打赏
  • 举报
回复
在没有指定的情况下,一般按web服务器的编码格式,你要想知道还是抓包看看http头吧。
wx红杉树 2008-07-17
  • 打赏
  • 举报
回复
在没有指定的情况下,一般按web服务器的编码格式,你要想知道还是抓包看看http头吧。
maplele20 2008-07-17
  • 打赏
  • 举报
回复
自己封装一个编码类吧

>>> s = urllib.urlopen('http://www.cfi.net.cn/p20080716001458.html ').read()
>>> class MyCode:
... def __init__(self, s):
... self.__codetype = ''
... self.__s = s
... def Decode(self):
... CODES = ['utf-8', 'gbk', ] ##可以在此增加字符编码方式
... for code in CODES:
... try:
... self.__s = self.__s.decode(code)
... self.__codetype = code
... break
... except:
... continue
... def Encode(self, codetype):
... self.__s = self.__s.encode(codetype)
... self.__codetype = codetype
... def GetStr(self):
... return self.__s
...
>>> m = MyCode(s)
>>> m.Decode()
>>> m.Encode('utf-8')
>>> m.Decode()
>>> m.Encode('gbk')
>>> print m.GetStr()

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title id="pageTitle">有色金属:一周市场概况
iambic 2008-07-17
  • 打赏
  • 举报
回复
看http的header(不是html header)。再不行就猜吧。

37,736

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧