use XML::Simple; use Data::Dumper; my $str = '<xml><a>我的祖国</a></xml>'; my $xml = new XML::Simple; my $t = XMLin($str); print Dumper $t; |
原帖由 hitsubunnu 于 2009-11-18 15:14 发表
use Encode;
# utf-8 => gb2312
$str =encode("gb2312",decode("utf-8",$str));
use Encode; use XML::Simple; use Data::Dumper; my $str = '<xml><a>我的祖国</a></xml>'; my $xml = new XML::Simple; my $t = XMLin($str); my $s = $t->{a};; print "[$s]n"; my $sg =encode("gb2312",decode("utf-8",$s)); print "[$sg]n"; |
原帖由 lvlfforever 于 2009-11-18 15:26 发表
按照hitsubunnu 的做法:
use Encode;
use XML::Simple;
use Data:umper;
my $str = '我的祖国';
my $xml = new XML::Simple;
my $t = XMLin($str);
my $s = $t->{a};;
print "[$s]n";
my ...
原帖由 hitsubunnu 于 2009-11-18 15:29 发表
你认真读我写的这段话了吗?
不乱码的原则是:
保持 程序文件 输入文件 输出文件 3者统一
不统一的部分使用 use Encode 转换
原帖由 lvlfforever 于 2009-11-18 15:26 发表
按照hitsubunnu 的做法:
use Encode;
use XML::Simple;
use Data:umper;
my $str = '我的祖国';
my $xml = new XML::Simple;
my $t = XMLin($str);
my $s = $t->{a};;
print "[$s]n";
my ...
use strict; use warnings; use Encode ; use XML::Simple; use Data::Dumper; my $str = '<xml><a>我的祖国</a></xml>'; ###$str =~ s/([x{80}-x{FFFF}])/'&#' . ord($1) . ';'/gse; my $xml = new XML::Simple; my $t = XMLin($str); my $s = $t->{a};; print "[$s]n"; |
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |