[PerlChina] 【请教】perl提取网页TXT时候的乱码问题

Dongxu Ma dongxu.ma at gmail.com
Tue Apr 17 02:59:52 PDT 2007


在07-4-17,Zhu Zhu <zhuzhu at perlchina.org> 写道:
>
> 没有遇到过,我只遇到过 1G - 2G 的日志处理,不过我不知道怎么才能合理读取这么
> 大的文件,
> 要求是从日志文件中每天提取前一天的记录。到每个月 20号的时候就用差不多2G了,
> 请问
> 对于这种大日志文件我该怎么做呢?


logrotate

在 Tue, 17 Apr 2007 15:07:19 +0800,Achilles Xu <formalin14 at gmail.com> 写
> 道:
>
> > perl中处理中文的原则:
> >
> > 让中文字符串在perl中以utf8的形式存在。一个字符串进来的时候如果是其他编
> > 码,先转成utf8,出去的时候再转成相应的编码。这样可以保证任何操作都不出
> > 错。
> >
>
>
很对,如果只是单纯copy或者move这样的整块stream,不考虑编码一般没问题。
但要process,比如现在要分析html结构,就另当别论了。
process通常需要识别一定的token,比如html中的'<' '>'。
宽字节的编码都会把非asc部分编码为两个或以上字节,如果你把这些编码后的字节串
直接看作asc,(这是你perl里将为出现的情况),那某个宽字符编码出来的某个byte可
能恰好就是'<'或者'>',这是导致混乱的原因,如果像libXML这样的非容错解析,会
马上报错,碰上可容错的,一般会把到此为止的部分return回去。
这是转为utf8的真正原因,因为perl里unicode编码就是utf8。
-- 
cheers,
-dongxu
__END__
http://search.cpan.org/~dongxu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/china-pm/attachments/20070417/dbb64c2f/attachment.html 


More information about the China-pm mailing list