#!/usr/bin/perl -l use strict; use warnings; use Encode; use URI::Escape; require Encode::Detect; my $f = '%C2%A3'; my $safe = uri_escape($f); my $str = uri_unescape($safe); print my $data = uri_unescape($str); my $utf8 = decode( "Detect", $data ); binmode STDOUT, ":encoding(utf8)"; print "$utf8: Looks like utf8 to me";