kuwei 发表于 2011-3-11 21:54:20

FreeNAS和MLDonkey中文问题终极解决方法

之前写个一篇文章是调试MLDonkey的中文问题的,但是上面的方法其实在使用中还有一些问题,上次我是甘写的:



你要注意在很多xNIX系统下的软件存在的字符集问题,因为这个很多软件的字符集是看系统环境的,呢个问题可能导致未来你的使用特别是文件名出现问题,下面的操作一定要记得在使用MLDonkey下载前做好。

cp cdrom/usr/share/locale/zh_CN*到对应目录

然后修改/etc/login.conf在其中加入以下段落

#
# Chinese Users Accounts. Setup proper environment variables.
#
chinese|Chinese Users Accounts:\
:charset=UTF-8:\
:lang=zh_CN.UTF-8:\
:tc=default:

me:\
:charset=UTF-8:\
:lang=zh_CN.UTF-8:\
:tc=default:

然后用cap_mkdb /etc/login.conf来配置默认的字符集,注销重新登录后用locale命令查看,如果返回:

LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_ALL=
就证明OK了



呢个时候如果你手动启动MLDonkey的话,就会看到程序输出当前语言是LANG是zh_CN,编码是UTF-8,下载也正常,你就会当设置已经成功左,甘之后你肯定就会设置mlnet_enable="YES",但是当你就甘样运行的话以后你还会发现问题依旧,我做左个测试,不用rc.conf,用一个脚本在postinit阶段运行,甘就看到其实在当时的编码是en.ascii而不是UTF-8,似乎系统并未登录到某个用户而是单用户状态,之前发现在根目录下出现.mldonkey目录也是说明了这个问题,甘我尝试在/etc/login.conf的defaults中加入LANG和charset不得也是必然了。

现在的问题是如何在启动程序之前设置字符集是zh_CN,即在init阶段设置字符集,我尝试在程序的启动脚本中设置是无效的,setenv语句会出错,包括自己写的脚本都一样,问题在这里似乎到左死路。

然之后我在etc/rc.d中漫无目的地查找可能与init阶段与语言有关的信息都没发现,发现有几个与init相关的脚本,抱住死马当活马医的心态写入setenv命令,重启测试,发现自动启动竟然得左。以后就记得要在execcmd_postinit.sh和execcmd_preinit.sh中设置语言环境。

来自:http://osxppc.blog.163.com/blog/static/6895984420111381649583/

zhxang 发表于 2011-3-11 22:28:45

竟然素粤语滴

penguin563 发表于 2014-1-15 20:49:39

好文章!
页: [1]
查看完整版本: FreeNAS和MLDonkey中文问题终极解决方法