私のソフトウェアを登録した人の名前を送信するためにサードパーティから呼び出されている Perl スクリプトがあります。これらの当事者の 1 つは名前を UTF-8 でエンコードしているので、それに応じてスクリプトを調整し、Encode::decode_utf8(...) を使用して UTF-8 を ASCII にデコードしました。
これは通常は問題なく機能しますが、約 6 か月ごとに名前の 1 つにキリル文字、ギリシャ文字、またはルーマニア文字が含まれているため、名前をデコードすると、"ПодражанÑкаÑ" などの文字化けが発生します。登録コードを発行するために、顧客にフォローアップして、彼の名前の「ラテン文字バージョン」を尋ねなければなりません。
では、そのような文字があるかどうかを検出し、必要に応じて最も近い ASCII 表現に自動的に変換できる Perl モジュールはありますか?
Lingua::Cyrillic::Translit::ICAO と Lingua::DetectCharset を使用してキリル文字を処理できるようですが、他の文字セットでも機能するものが望ましいと思います。