#!/usr/bin/perl use strict; use warnings; use Encode qw( encode decode ); binmode(STDOUT, ':encoding(utf-8)'); print("Content-Type: text/html; charset=utf-8\n\n"); # Input my $name = encode('utf-16le', "\x{65E5}\x{672C}\x{8A9E}"); eval { $name = decode('utf-16le', $name, Encode::FB_CROAK); 1 } or print("coaked\n"); # Process # ... # Output print $name;