我有一個包含ISO解碼問題的Perl
$string = "&®";
當我做HTML::Entities::decode($string);
它返回我的&®
從我想通了,這個功能是無法解碼的ISO代碼http://www.w3schools.com/tags/ref_entities.asp
那麼字符串我嘗試了一些其他的東西喜歡,但沒有成功
Encode::decode('utf8', '®') // returns ®
Encode::decode_utf8('®') // returns ®
然後我試圖手動替換它使用正則表達式模式,
$string =~ s/®/®/g;
但上述行轉換成&®,可有一個人請告訴我如何把這些字符ISO解碼,並且在手動的情況下更換爲什麼Â會來嗎?
對實體權威的文檔是[在HTML規範(http://www.w3.org/TR/html/syntax.html#named-character-references),不在不可靠的w3schools。無論如何,我無法重現:'perl -CS -MHTML :: Entities -E'say decode_entities「& ®」''產生預期的輸出,使用最新的H:E v3.69 perl v5.18.1。你使用什麼版本? – amon
perl 5.14.2正常輸出也是(HTML ::實體3.69太) – Suic
回覆:「它返回給我'&®'」,那不是真的,它返回'&®'。 – ikegami