diff -up File-DesktopEntry-0.04/lib/File/DesktopEntry.pm.old File-DesktopEntry-0.04/lib/File/DesktopEntry.pm --- File-DesktopEntry-0.04/lib/File/DesktopEntry.pm.old 2007-11-04 21:34:20.000000000 +0100 +++ File-DesktopEntry-0.04/lib/File/DesktopEntry.pm 2012-04-27 13:28:58.403493320 +0200 @@ -3,6 +3,7 @@ package File::DesktopEntry; use strict; use vars qw/$AUTOLOAD/; use Carp; +use Encode; use File::Spec; use File::BaseDir 0.03 qw/data_files data_home/; @@ -333,6 +334,7 @@ sub parse_Exec { push @exec, '--icon', $icon if defined($icon); } else { # expand with word ( e.g. --input=%f ) + $_ = encode_utf8($_); my $bad; s/\%(.)/ ($1 eq '%') ? '%' :