Home > Computer Science > QNAP TS-409 Pro添加中文UTF8 locale

QNAP TS-409 Pro添加中文UTF8 locale

Oct 24th, 2009 21:34:11 Wei Leave a comment Go to comments

QNAP TS-409 Pro NAS中除了C和POSIX以外,不包含utf8的locale,PHP中也不包含iconv。即使是最新版本的3.0.1 Build 0708T也是如此。最直接的结果就是MLDonkey等软件的下载文件名出现乱码或者“_”符号。但QNAP却提供了手工安装locale的方法。但最新的3.0.1版本中,却没有locale和localedef文件,导致按照官方安装locale的方法,无法操作。经过论坛上的各种讨论,可以采用如下的方法来实现。

首先通过SSH登录NAS,找到locale和localedef命令,并创建对应的符号链接:

ll /mnt/HDA_ROOT/rootfs_2_3_6/usr/bin/locale*
ln –s /mnt/HDA_ROOT/rootfs_2_3_6/usr/bin/locale /usr/sbin/locale
ln –s /mnt/HDA_ROOT/rootfs_2_3_6/usr/bin/localedef /usr/sbin/localedef
ll /usr/sbin/locale*

接下来下载Posix-locale文件(下载地址:http://wiki.qnap.com/w/images/7/77/Posix-locales.rar),解压后,上传到任意目录,并将LOCALES重命名为locales。为了节省系统盘空间,推荐在/share/HDA_DATA(或/share/MD0_DATA)中创建一个目录。

mkdir /mnt/HDA_DATA/i18n
ln –s /mnt/HDA_DATA/i18n /usr/share/i18n
cd /usr/share/i18n
wget http://wiki.qnap.com/w/images/7/77/Posix-locales.rar
unrar Posix-locales.rar
mv LOCALES locales

创建/usr/lib/locale目录,该目录用于存储locale-archive文件(也可以使用符号链接)

剩下的步骤就可以创建新的locale了

localedef –i zh_CN –f UTF-8 zh_CN.utf8

如果需要其他的locale,只需要将zh_CN、UTF-8更换为其他的locale即可,具体的参数,可以查看/usr/share/i18n/locales和/usr/share/i18n/charmaps中的文件列表,最后的zh_CN.utf8可以自己指定。

检查新的locale

locale -a

此时即可生成新的zh_CN.utf8的locale,剩下的工作可以为locale-archive创一个符号链接,以便节省/分区的空间。

mv /usr/lib/locale/locale-archive /share/HDA_DATA/locale-archive
ln –s /share/HDA_DATA/locale-archive /usr/lib/locale/locale-archive

特别说明

  1. QNAP NAS会在每次升级之后,重新在硬盘中写入操作系统,所以此过程需要在每次升级版本的时候操作一次。
  2. 为了避免在UTF8编码无效时,某些软件(如MLDonkey)出现乱码的问题,在操作/升级前,请先关闭所有的QPKG。
  3. HDA_DATA为不使用RAID配置的路径,如果启用RAID,则将更换为MD0_DATA。
Categories: Computer Science Tags: , , , , , ,
  1. Galen Dai
    October 25th, 2009 at 20:25 | #1

    这么复杂,等我买了你来给我安装下吧

  2. 鼠标民工
    November 14th, 2009 at 19:26 | #2

    照着折腾了一遍 locale -a 也显示 zh_CN.utf8 加上了,重启后依然乱码
    唉linux 果然不是普通人能用的啊

  1. No trackbacks yet.