perl打印汉字的问题

辉歌 2008-05-09 02:11:31
大哥好。

还是从html抽取文字的问题。现在抽取出来的文字,如果是中文,打印到屏幕上,是这样的:
[] [鐧借瘽鏉傛枃]
[*][2006-04-02 22:05:52] 蹇呰鐨勬皯鏃忎富涔夛紝鍗曠函銆佽8闇插湴闂

if ($c =~ m!<div class="articleTitle">.*?</div>!s) {
($title, $date) = parseTitleDate($&);
}
if ($c =~ m!<div class="articleTag">.*?</div>!s) {
($tag, $category) = parseTagCategory($&);
}
if ($c =~ m!<div id="articleBody".*?</div>!s) {
$body = parseBody($&);
}

if ( !$category )
{
$category="杂谈";
}
open(BODYFILE,">>$category.txt");
print BODYFILE "[*][$date] $title\n[$tag] [$category]\n";
print BODYFILE "$body\n=================================================================================\n\n";
print "[*][$date] $title\n[$tag] [$category]\n";
close(BODYFILE);

但是如果我运行时重定向到一个文本文件,显示的就是对的。

同样地,以变量名做文件名,结果文件名也是乱码。
但是手动赋值的 $category="杂谈";文件名是正确的。

这个怎么处理呢?



...全文
106 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
iambic 2008-05-09
  • 打赏
  • 举报
回复
原文是utf-8的。你可以转换成gb2312的。

use Encode;
$c = encode('gb2312', decode('utf-8', $c));

37,743

社区成员

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

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