基本的にこれのバージョンと思われる Perl コードのバグを追跡しています。
「ワイド文字を含む文字列をデコードできません」が奇妙な場所に表示される
基本的に、特定の条件下でEncode::decode('utf8', $string)
は、同じ文字列で が 2 回呼び出され、陽気になります。ここでの最善の解決策は、ダブル デコードを引き起こしている条件を特定し、それを阻止することです。残念ながら、これは機能豊富な製品の成熟した製品コードです。これらの条件を把握し、回帰エラーを導入しない方法でそれらを修正することは困難に見えます。
文字列が既に utf8 からデコードされているかどうかを検出するための高速で信頼できる方法はありますか? これらの呼び出しの前に「if」ステートメントを挿入するのは少し面倒ですが、かなり安全な修正であるはずです。