[英]Malformed UTF-8 character error in regular expression in Perl
將一些標量數據放入XML :: Simple或Data :: Dumper時,出現“格式錯誤的UTF-8字符”錯誤。 在發生錯誤的行上有正則表達式。
Malformed UTF-8 character (fatal) at /usr/share/perl5/XML/Simple.pm line 1690.
Malformed UTF-8 character (fatal) at /usr/lib/perl/5.10/Data/Dumper.pm line 682.
目前,我無法用一小段代碼重現該錯誤。
XML::Simple 2.18
Data::Dumper 2.124
perl v5.10.1
之所以出現此問題,是因為在應用程序代碼的某個深處,是帶有標量的Encode::_utf8_on
,這不是正確的UTF-8字符串。
您可以嘗試通過Encoding :: FixLatin傳遞數據。 如果您遇到的“二進制”字節實際上是Latin-1字符,則它們將被轉換為有效的UTF8。 如果它們確實是隨機二進制字節,則至少應將它們轉換為隨機(但有效)的UTF8字符:-)
核心編碼模塊提供了處理格式錯誤數據的功能 。 不過,我自己從未使用過它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.