Commit b32a0b43 authored by Max Kanat-Alexander's avatar Max Kanat-Alexander

Bug 550765: Unicode strings from install_string were showing up as garbage

when used in the web interface r=LpSolit, a=LpSolit
parent e8f93b1e
...@@ -265,6 +265,8 @@ sub install_string { ...@@ -265,6 +265,8 @@ sub install_string {
die "No language defines the string '$string_id'" die "No language defines the string '$string_id'"
if !defined $string_template; if !defined $string_template;
utf8::decode($string_template) if !utf8::is_utf8($string_template);
$vars ||= {}; $vars ||= {};
my @replace_keys = keys %$vars; my @replace_keys = keys %$vars;
foreach my $key (@replace_keys) { foreach my $key (@replace_keys) {
...@@ -281,7 +283,7 @@ sub install_string { ...@@ -281,7 +283,7 @@ sub install_string {
} }
$string_template =~ s/\Q##$key##\E/$replacement/g; $string_template =~ s/\Q##$key##\E/$replacement/g;
} }
return $string_template; return $string_template;
} }
......
...@@ -62,6 +62,12 @@ use Bugzilla::Install::Util qw(install_string get_version_and_os init_console); ...@@ -62,6 +62,12 @@ use Bugzilla::Install::Util qw(install_string get_version_and_os init_console);
# When we're running at the command line, we need to pick the right # When we're running at the command line, we need to pick the right
# language before ever displaying any string. # language before ever displaying any string.
init_console(); init_console();
# Required for displaying strings from install_string, which are always
# in UTF-8, in every language. For other scripts, Bugzilla::init_page
# handles this, but here we just need to assume that checksetup.pl output
# is always UTF-8 in order for install_string to work properly in other
# languages.
binmode STDOUT, ':utf8';
my %switch; my %switch;
GetOptions(\%switch, 'help|h|?', 'check-modules', 'no-templates|t', GetOptions(\%switch, 'help|h|?', 'check-modules', 'no-templates|t',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment