#!/usr/bin/perl use Modern::Perl; use Search::Tools::UTF8; use Encoding::FixLatin qw(fix_latin); use Encode::Locale; use Encode; if ( -t ) { binmode(STDIN, ":encoding(console_in)"); binmode(STDOUT, ":encoding(console_out)"); binmode(STDERR, ":encoding(console_out)"); } my $text = "\xC9ric"; if (is_latin1($text) eq 1) { say "$text is latin1"; } else { return; } my $fix = fix_latin($text, ascii_hex => 0); if (looks_like_cp1252($fix) eq 0) { say "$fix cannot be mapped to utf8:-)"; } else { return; } say is_flagged_utf8($fix); say is_sane_utf8($fix); say is_valid_utf8($fix);