From 94a162c34cfeca6228be53a37f954080a226cf94 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 7 Jan 2020 15:47:14 +0100 Subject: [PATCH] Bug 24365: (bug 24217 follow-up) Fix encoding issue for translator script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I am not sure what happened here, but adding strict for TmplTokenizer.pm breaks a test for translation. It has been caught by a failing test: % prove xt/author/translatable-templates.t will display lines "invalid multibyte sequence" I did a diff between the generated files and found: < msgid "Ã rbok" --- > msgid "Årbok" Which made me think of an encoding issue. Specifying the encoding when write open the file fixes the problem. Test plan: % prove xt/author/translatable-templates.t must return green --- misc/translator/xgettext.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/translator/xgettext.pl b/misc/translator/xgettext.pl index 8890d4252b..f7b42e589a 100755 --- a/misc/translator/xgettext.pl +++ b/misc/translator/xgettext.pl @@ -366,7 +366,7 @@ usage_error('You cannot specify both --convert-from and --files-from') if (defined $output && $output ne '-') { print STDERR "$0: Opening output file \"$output\"\n" if $verbose_p; - open($OUTPUT, '>', $output) || die "$output: $!\n"; + open($OUTPUT, '>:encoding(utf-8)', $output) || die "$output: $!\n"; } else { print STDERR "$0: Outputting to STDOUT...\n" if $verbose_p; open($OUTPUT, ">&STDOUT"); -- 2.11.0