我完全失去了編碼問題,我不知道發生了什麼事情,究竟是什麼問題,以及如何解決這個問題。爲什麼在寫入屏幕時出現`á`而不是空格(編碼問題)?
基本上我只是想從Zip文件讀取HTML文件,解析它然後輸出到XML。現在,我從解析器中獲得的文本發生了一些奇怪的事情。
解析HTML而不是空格時,只有在寫入屏幕時纔會得到á
。如果我將它保存在一個變量中並寫入文件,它在文件中看起來很好。然而,儘管它在XML中看起來正確,但它有些問題,我的PHP解析器無法解析XML,IE似乎也不喜歡它。
我不得不第一次mb_convert_encoding($xmlcontent, "ASCII");
所以我可以用PHP解析XML。
任何想法我的問題是什麼?從.tar.gz
文件使用Perl
my $tar = Archive::Tar->new;
$tar->read("myfile.tar.gz");
$tar->extract_file('index.html', 'output.html');
加載HTML
提取HTML,這是它開始變得時髦,我得到的輸出喜歡
Numberáofásourceálines
my $tree = HTML::TreeBuilder->new; $tree->parse_file('output.html') or die $!; $tree->elementify;
寫XML
my $output = new IO::File(">output.xml"); my $writer = new XML::Writer(OUTPUT => $output, DATA_MODE => 1,DATA_INDENT => 2);
是你的數據多字節unicode?奇怪的人物聞起來可能會像這樣。使用適當的字符編碼。 – Rasika 2011-06-16 23:53:30
您首先需要了解輸入數據的編碼。然後將其轉換爲UTF-8。 – hakre 2011-06-17 00:26:38
我如何確定編碼?該文件是從一個工具自動生成的,我無法控制它我只能處理它 – user391986 2011-06-17 00:44:58