about summary refs log tree commit homepage
path: root/lib/PublicInbox/View.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2014-04-28 04:50:17 +0000
committerEric Wong <e@80x24.org>2014-04-28 04:51:46 +0000
commit59e7af124580f46bdb2dec21273607599ba1e8f9 (patch)
tree8c62802d9a9881d545a2d1493b9f8db4f5c6fbd8 /lib/PublicInbox/View.pm
parent31b13cdcb3ab2a4f9332f2aab10fdda7dbbe296c (diff)
downloadpublic-inbox-59e7af124580f46bdb2dec21273607599ba1e8f9.tar.gz
uri_escape => uri_escape_utf8
We should be able to deal with URIs with non-ASCII characters in
them.  I only found this problem when looking at archives with
non-English spam :x
Diffstat (limited to 'lib/PublicInbox/View.pm')
-rw-r--r--lib/PublicInbox/View.pm11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 663eff5b..c6ecee6e 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -4,7 +4,7 @@ package PublicInbox::View;
 use strict;
 use warnings;
 use PublicInbox::Hval;
-use URI::Escape qw/uri_escape/;
+use URI::Escape qw/uri_escape_utf8/;
 use Encode qw/find_encoding/;
 use Encode::MIME::Header;
 use Email::MIME::ContentType qw/parse_content_type/;
@@ -213,12 +213,13 @@ sub html_footer {
 
         my $subj = $mime->header('Subject') || '';
         $subj = "Re: $subj" unless $subj =~ /\bRe:/;
-        my $irp = uri_escape($mime->header_obj->header_raw('Message-ID') || '');
+        my $irp = uri_escape_utf8(
+                        $mime->header_obj->header_raw('Message-ID') || '');
         delete $cc{$to};
-        $to = uri_escape($to);
-        $subj = uri_escape($subj);
+        $to = uri_escape_utf8($to);
+        $subj = uri_escape_utf8($subj);
 
-        my $cc = uri_escape(join(',', values %cc));
+        my $cc = uri_escape_utf8(join(',', values %cc));
         my $href = "mailto:$to?In-Reply-To=$irp&Cc=${cc}&Subject=$subj";
 
         '<a href="' . ascii_html($href) . '">reply</a>';