Chinaunix首页 | 论坛 | 博客
  • 博客访问: 658082
  • 博文数量: 780
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 4885
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 16:14
文章分类

全部博文(780)

文章存档

2008年(780)

我的朋友

分类: LINUX

2008-08-22 16:17:22


mldonkey中文文件名下载下来是下滑线,google了一下,但解决的办法不外乎两种:

1、一段java程序,下载后转码改名。但这种方法我不知道是怎样实现的,因为下载下来的中文变成了下划线,并不是编码不正确。

2、utf8补丁,我看了下这个patch,并对照源码,现在的2.9.2官方源码中已经包含了这个patch,所以,很多人说打了这个patch就OK了,真不知道他们是怎样实现的。

真正要解决mldonkey的中文名的问题,其实实质就是要正确设定mlnet运行的用户的LANG和LC_ALL环境变量,我是以mlnet这个用户运行的。

编辑mlnet这个用户的.bashrc和.bash_profile,增加两行:
exportLANG=zh_CN.UTF8
exportLC_ALL=zh_CN.UTF8

ok,用mlnet登陆后,执行mlnet&,就可以看见mlnet的输出信息,已经是utf8了。

但是如果用/etc/rc.d/mldonkeystart仍然会中文下划线,怎么回事呢?

看看/etc/rc.d/mldonkey这个文件:

其中,su-l"$MLUSER"-c"/usr/bin/mldonkey&>/tmp/mldoney.log&"

看看/tmp/mldonkey.log,仍然是ANSI的。

测试一下,root下:su-lmlnet-c"echo$LANG"

输出zh_CN.UTF8,正确的啊!!不知道这是不是mldonkey的bug。

那么,采取一个折衷办法,把su的-l参数去掉,把root的LANG,和LC_ALL变量设为zh_CN.UTF8。

现在执行/etc/rc.d/mldonkeystart,再看下/tmp/mldonkey.log,应用到UTF8了,呵呵。

注释:su-l的意思是以mlnet的用户开个shell,并应用mlnet用户的环境变量。 下载本文示例代码
阅读(378) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~