http://www.perlmonks.org?node_id=1051302


in reply to Unaccenting characters

I noticed several problems:
  1. Single quotes do not interpolate. Use $table{"$1"} or even no quotes at all: $table{$1}.
  2. Tell Perl what encoding your script uses. It should be UTF-8 and you should therefore use utf8;.
  3. If you are reading the data from a file, set the input encoding. You can use either
    open my $IN, '<:utf8', $filename or die $!;

    or

    open my $IN, '<', $filename or die $!; binmode $IN, ':utf8';

    Set the output encoding to UTF-8, too, if you plan to output any accented characters.

لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Replies are listed 'Best First'.
Re^2: Unaccenting characters
by mwhiting (Beadle) on Aug 29, 2013 at 16:41 UTC
    Hmmm, but I don't know what kind of input I'm getting. I have the 'guess' function running just before this part of the script to determine if I need to encode into UTF8 first or not. Will setting the input encoding to be UTF8 change the input into UTF8, or just tell the server to expect UTF8?