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="杂谈";文件名是正确的。
这个怎么处理呢?