perl处理XML文件中文问题,谢谢

看着奢扣 2011-01-26 10:27:37
有这样一个xml文件,我想把info那个中文读出来打印,然后把这个文件夹(王小小)下的文件遍历打印,现在目录句柄那里不能正常打开目录:
Can not open E:\鐜嬪皬澹?
请问如何解决,谢谢

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Info>
<info>E:\王小小</info>
</Info>




#!/usr/bin/perl -w
use XML::Parser;
use XML::Simple;
use Encode;
use strict;
use DBI;
binmode(STDIN, ':encoding(utf8)');
binmode(STDOUT, ':encoding(gb2312)');
binmode(STDERR, ':encoding(utf8)');
my $file = "path.xml";
my $config = eval{ XMLin($file )}||die "Error: $!";
my $bk = $config->{"info"};
print "$bk\n";

opendir DIR, $bk or die "Can not open $bk\n";
my @filelist = readdir DIR;
foreach $file (grep(!/^\.\.?$/,@filelist)) {
print $bk."\\".$file."\n";
}
...全文
136 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
iambic 2011-01-28
  • 打赏
  • 举报
回复
use Encode qw(from_to);

看着奢扣 2011-01-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 iambic 的回复:]

from_to是一个函数,用来转换你的文件名编码的。google from_to,第一个搜索结果。
[/Quote]
确实 学习了 谢谢2位
不过我的环境use Encode之后提示没有from_to这个方法,是不是没装什么包之类的呢?弱问...
iambic 2011-01-27
  • 打赏
  • 举报
回复
至少40%的程序都是瞎写的,但并不意味着可以见怪不怪。倘若习以为常,待到假作真时真亦假,那就是个十分混账的世道了。
shyokou 2011-01-27
  • 打赏
  • 举报
回复
以前听说过 猴子 "瞎写的" 多了也能凑出来美妙的诗歌呢 ;-)

[Quote=引用 2 楼 iambic 的回复:]
Perl code
my $bk = from_to($config->{"info"}, "utf-8", "gbk");

另外你那些binmode还是都删了吧,估计是瞎写的。等遇到问题了再填。
[/Quote]
iambic 2011-01-27
  • 打赏
  • 举报
回复
my $bk = from_to($config->{"info"}, "utf-8", "gbk");

另外你那些binmode还是都删了吧,估计是瞎写的。等遇到问题了再填。
shyokou 2011-01-27
  • 打赏
  • 举报
回复
此乃 M!cr0$0f7 VV!nd023 只有 l10n 却冇 i18n 的原因也, 故而使用 i18n 的 Unicode/UTF-8 等都在系统底层, 而用户界面却还得 l10n 的干活 ...

关于路径描述方面的小建议: 一是统一用 '/' 取代可能会引起 Escape 歧义的 '\' 保持通用性; 二是可以在读写指定路径描述前预判文件存在与否, 特别在譬如 ActivePerl 的 'MSWin32' 时再多看 encode ( 'gbk' , $path ) 一眼 ...

[Quote=引用楼主 sunming2008 的回复:]
有这样一个xml文件,我想把info那个中文读出来打印,然后把这个文件夹(王小小)下的文件遍历打印,现在目录句柄那里不能正常打开目录:
Can not open E:\鐜嬪皬澹?
请问如何解决,谢谢

XML code

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Info>
<info>E:\王小小</info……
[/Quote]
iambic 2011-01-27
  • 打赏
  • 举报
回复
from_to是一个函数,用来转换你的文件名编码的。google from_to,第一个搜索结果。
看着奢扣 2011-01-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 iambic 的回复:]

2楼不是已经把代码都贴出来了吗
[/Quote]
我弱了没弄明白,from_to是嘛意思啊?
iambic 2011-01-27
  • 打赏
  • 举报
回复
2楼不是已经把代码都贴出来了吗
看着奢扣 2011-01-27
  • 打赏
  • 举报
回复
我承认 是瞎写的 呵呵 那几句话忘了弄下去了没什么用
没看懂到底怎么改呢?

37,719

社区成员

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

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