热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>Linux入门>

SVN 自动邮件通知 的两种方式以及中文解决方案

来源: 作者: 时间:2007-11-20 Tag: 点击:


--diff y 是表示在邮件中加入diff信息,这个当然是要的

后面跟的邮件地址,是接收邮件的地址,有人说可以在后面写上N个地址,用空格分开就行,事实上我测试的时候,这种方式根本就收不到邮件了,时间紧迫,不能详细测试。最后不得不在邮件服务器上做了一个组邮件地址。

关于中文问题,通过在commit-email.pl中更改字符集,基本上可以很完美的解决diff信息中的中文问题。

但是对于log信息中的中文,至今尚未找到合适的解决办法。

这个问题的关键应该是在于,svn客户端在提交更新的时候,输入的log信息,使用的是非ascii编码(应该是unicode) ,commit-email.pl(还不缺认问题是不是出在commit-email.pl还是出在svn本身)在处理非ascii编码时,将其转换成了诸如 ?\230?\181?\139?\232?\175?\149?\228?\186?\140 这样的不可读的数字形式。
在互联网上找到一篇文章,是06年写的,提到了一种解决这个的办法,不过我测试下来没有成功,还是贴出来吧,不定谁的就可以成功了

my @difflines; (行487) 的前面加上:

for (my $i=0; $i<@body; ++$i){
   my @rsa = split( /\?\\/, $body[$i] );
   $body[$i] = "";
   foreach my $val (@rsa) {
       $val =~ /(^[0-9]{3})(.*)/;
       if(defined $1 and $1 gt 0){
           #print "\n[".$1 . "," . $2."]";
           $body[$i] .= chr($1) . $2;
       }
       else{
           $body[$i] .= $val;
       }
   }
}

把之前 push 到 @body 变量的所有内容重新进行处理,发现 ?\ 后面跟三个数字就替换为相应的字符。


相关文章:
linux U盘启动盘制作
Linux设置启动程序
free -m
多核技术与并发多线程技术介绍
理解Linux的性能
section.2 booting and shutting down 引导与关机
Linux — 目录的读权限与执行权限
Linux — 硬链接与符号链接
Linux裸设备总结
linux系统文件综述
Linux下硬盘数据恢复与分区表恢复
./configure命令常用选项详解
浅谈如何学习linux
grub双系统启动顺序更改
Linux 下实现远程开机
Linux系统清除Grub的几种方法
AIX如何才能看出网线是否插好?
vxvm 逻辑卷管理中遇到的问题
linux系统文件认识
Linux守护进程列表
关于/dev/null
FreeBSD学习笔记
Linux简明教程
linux任重道远
在Linux里设置环境变量的方法(export PATH)
关于.bashrc和.vimrc不能自动被执行的问题
linux优秀网站列表
关于swap,虚拟内存和page的区别
Linux系统下系统目录详解
Cooperative Linux