é
####
$ perl -CS -le 'print "na\x{EF}ivet\x{E9}"'
naïveté
$ perl -CS -le 'print "na\x{EF}ivet\x{E9}"' |
perl -C0 -pe 's/(\P{ASCII})/"".ord($1).";"/ge'
naïiveté
$ perl -CS -le 'print "na\x{EF}ivet\x{E9}"' |
perl -C0 -pe 's/(\P{ASCII})/sprintf "%02X;", ord($1)/ge'
naïiveté
####
$ perl -CS -le 'print "na\x{EF}vet\x{E9}"' |
perl -CS -pe 's/(\P{ASCII})/"".ord($1).";"/ge'
naïveté
$ perl -CS -le 'print "na\x{EF}vet\x{E9}"' |
perl -CS -pe 's/(\P{ASCII})/sprintf "%02X;", ord($1)/ge'
naïveté
####
$ perl -CS -le 'print "na\x{EF}vet\x{E9}"' |
perl -C0 -pe 's/(\P{ASCII})/"".ord($1).";"/ge' |
perl -C0 -pe 's/(\d+);/chr($1)/ge'
naïveté
####
$ perl -CS -le 'print "na\x{EF}vet\x{E9}"' |
perl -C0 -pe 's/(\P{ASCII})/"".ord($1).";"/ge' |
perl -MEncode -C0 -pe 's/(\d+);/chr($1)/ge;
$_ = decode_utf8($_, 1);
s/(\P{ASCII})/"".ord($1).";"/ge'
naïveté
####
$ perl -i.unmangled.by.$$ -MEncode -C0 -pe 's/(\d+);/chr($1)/ge; $_ = decode_utf8($_, 1); s/(\P{ASCII})/"".ord($1).";"/ge' all*your*broken*files.xhtml
####
#!/usr/bin/env perl
use strict;
use warnings;
use Encode;
die "gimme args" unless @ARGV;
$^I = ".unmangled.by.$$";
while (<>) {
s/(\d+);/chr($1)/ge;
$_ = decode_utf8($_, 1);
s/(\P{ASCII})/ "" . ord($1) . ";" /ge;
print;
}