bugzilla之中文化
最近还在忙这个
不知道换了个公司,我还是否需要这样做
不过据我推测,中国软件公司员工的英语水平应该都挺高
anyway,记一下思路。
三个问题:
1. Bugzilla/BugMail.pm需要打个补丁
--- Bugzilla/BugMail.pm.bak 2006-12-06 09:19:08.000000000 +0800
+++ Bugzilla/BugMail.pm 2006-12-06 17:55: 03.000000000 +0800
@@ -46,6 +46,8 @@
use MIME::Parser;
use Mail::Address;
+use Encode qw(encode_utf8);
+
# We need these strings for the X-Bugzilla-Reasons header
# Note: this hash uses "," rather than "=>" to avoid auto-quoting of the LHS.
my %rel_names = (REL_ASSIGNEE , "AssignedTo",
@@ -636,7 +638,7 @@
my $headers;
if (Param('utf8') and (!is_7bit_clean($header) or !is_7bit_clean($body))) {
- ($headers, $body) = encode_message($msg);
+ ($headers, $body) = encode_message(encode_utf8($msg));
} else {
my @header_lines = split(/\n/, $header);
$headers = new Mail::Header \@header_lines, Modify => 0;
2. 网上现有最新的汉化包是2.20, 内容和正在使用的2.22有差距。使用中文界面时,已知的可导致的问题有,不能删除产品和模块。
3. 如果bug的摘要和附加评论是中文,将是乱码。解决思路是这样。首先把数据库里的表的所有列的字符集改为utf8
alter table xxx convert to charset utf8;
然后修改Bugzilla/Bug.pm,在刚刚连上数据库后,多执行一句query "set names utf8;"
然后把查询所得结果(raw utf8)转化成perl internal utf8, decode_utf8().
不知道换了个公司,我还是否需要这样做
不过据我推测,中国软件公司员工的英语水平应该都挺高
anyway,记一下思路。
三个问题:
1. Bugzilla/BugMail.pm需要打个补丁
--- Bugzilla/BugMail.pm.bak 2006-12-06 09:19:08.000000000 +0800
+++ Bugzilla/BugMail.pm 2006-12-06 17:55: 03.000000000 +0800
@@ -46,6 +46,8 @@
use MIME::Parser;
use Mail::Address;
+use Encode qw(encode_utf8);
+
# We need these strings for the X-Bugzilla-Reasons header
# Note: this hash uses "," rather than "=>" to avoid auto-quoting of the LHS.
my %rel_names = (REL_ASSIGNEE , "AssignedTo",
@@ -636,7 +638,7 @@
my $headers;
if (Param('utf8') and (!is_7bit_clean($header) or !is_7bit_clean($body))) {
- ($headers, $body) = encode_message($msg);
+ ($headers, $body) = encode_message(encode_utf8($msg));
} else {
my @header_lines = split(/\n/, $header);
$headers = new Mail::Header \@header_lines, Modify => 0;
2. 网上现有最新的汉化包是2.20, 内容和正在使用的2.22有差距。使用中文界面时,已知的可导致的问题有,不能删除产品和模块。
3. 如果bug的摘要和附加评论是中文,将是乱码。解决思路是这样。首先把数据库里的表的所有列的字符集改为utf8
alter table xxx convert to charset utf8;
然后修改Bugzilla/Bug.pm,在刚刚连上数据库后,多执行一句query "set names utf8;"
然后把查询所得结果(raw utf8)转化成perl internal utf8, decode_utf8().
Comments