From e1056ea952c65e24a0f5240ea6e13ac990299440 Mon Sep 17 00:00:00 2001 From: Frédéric Buclin Date: Wed, 26 Feb 2014 11:14:08 +0100 Subject: Remove "Unicode non-character 0xfdd0 is illegal for interchange" warnings thrown by Perl 5.10.1 and 5.12, see bug 405011 r=gerv --- Bugzilla/Comment.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Bugzilla/Comment.pm') diff --git a/Bugzilla/Comment.pm b/Bugzilla/Comment.pm index 0dada24cf..238770d57 100644 --- a/Bugzilla/Comment.pm +++ b/Bugzilla/Comment.pm @@ -429,7 +429,10 @@ sub _check_thetext { # without any problem. So we need to replace these characters if we use MySQL, # else the comment is truncated. # XXX - Once we use utf8mb4 for comments, this hack for MySQL can go away. - if (Bugzilla->dbh->isa('Bugzilla::DB::Mysql')) { + state $is_mysql = Bugzilla->dbh->isa('Bugzilla::DB::Mysql') ? 1 : 0; + if ($is_mysql) { + # Perl 5.13.8 and older complain about non-characters. + no warnings 'utf8'; $thetext =~ s/([\x{10000}-\x{10FFFF}])/"\x{FDD0}[" . uc(sprintf('U+%04x', ord($1))) . "]\x{FDD1}"/eg; } -- cgit v1.2.3-24-g4f1b