Archive

Archive for October, 2009

QNAP TS-409 Pro添加中文UTF8 locale

October 24th, 2009 Wei 15 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 /share/HDA_DATA/i18n
ln –s /share/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。

关于MLDonkey

MLDonkey的启动脚本位于/share/HDA_DATA/.qpkg/MLDonkey/mldonkey.sh。该脚本通过/usr/bin/locale取得当前环境的LANG环境变量。我图省事儿,直接将此修改为:

export LANG=zh_CN.utf8
Categories: Computer Science Tags: , , , , , ,

弄错会很丢脸的英文

October 8th, 2009 Wei 1 comment

1、日常用语类

lover 情人(不是“爱人”)
busboy 餐馆勤杂工(不是“公汽售票员”)
busybody 爱管闲事的人(不是“大忙人”)
dry goods (美)纺织品;(英)谷物(不是“干货”)
heartman 换心人(不是“有心人”)
mad doctor 精神病科医生(不是“发疯的医生”)
eleventh hour 最后时刻(不是“十一点”)
blind date (由第三者安排的)男女初次会面(并非“盲目约会”或“瞎约会”)
dead president 美钞(上印有总统头像)(并非“死了的总统”)
personal remark 人身攻击(不是“个人评论”)
sweet water 淡水(不是“糖水”或“甜水”)
confidence man 骗子(不是“信得过的人”)
criminal lawyer 刑事律师(不是“犯罪的律师”)
service station 加油站(不是“服务站”)
rest room 厕所(不是“休息室”)
dressing room 化妆室(不是“试衣室”或“更衣室”)
sporting house 妓院(不是“体育室”)
horse sense 常识(不是“马的感觉”)
capital idea 好主意(不是“资本主义思想”)
familiar talk 庸俗的交谈(不是“熟悉的谈话”)
black tea 红茶(不是“黑茶”)
black art 妖术(不是“黑色艺术”)
black stranger 完全陌生的人(不是“陌生的黑人”)
white coal (作动力来源用的)水(不是“白煤”)
white man 忠实可靠的人(不是“皮肤白的人”)
yellow book 黄皮书(法国政府报告书,以黄纸为封)(不是“黄色书籍”)
red tape 官僚习气(不是“红色带子”)
green hand 新手(不是“绿手”)
blue stocking 女学者、女才子(不是“蓝色长统袜”)
China policy 对华政策(不是“中国政策”)
Chinese dragon 麒麟(不是“中国龙”)
American beauty 红蔷薇(不是“美国美女”)
English disease 软骨病(不是“英国病”)
Indian summer 愉快宁静的晚年(不是“印度的夏日”)
Greek gift 害人的礼品(不是“希腊礼物”)
Spanish athlete 吹牛的人(不是“西班牙运动员”)
French chalk 滑石粉(不是“法国粉笔”)

2.成语类

pull one’s leg 开玩笑(不是“拉后腿”)
in one’s birthday suit 赤身裸体(不是“穿着生日礼服”)
eat one’s words 收回前言(不是“食言”)
an apple of love 西红柿(不是“爱情之果”)
handwriting on the wall 不祥之兆(不是“大字报”)
bring down the house 博得全场喝彩(不是“推倒房子”)
have a fit 勃然大怒(不是“试穿”)
make one’s hair stand on end 令人毛骨悚然—恐惧(不是“令人发指——气愤”)
be taken in 受骗,上当(不是“被接纳”)
think a great deal of oneself 高看或看重自己(不是“为自己想得很多”)
pull up one’s socks 鼓起勇气(不是“提上袜子”)
have the heart to do (用于否定句)忍心做……不是“有心做”或“有意做”)

3.表达方式类
    
Look out! 当心!(不是“向外看”)
What a shame! 多可惜!真遗憾!(不是“多可耻”)
You don’t say! 是吗!(不是“你别说”)
You can say that again! 说得好!(不是“你可以再说一遍”)
I haven’t slept better. 我睡得好极了。(不是“我从未睡过好觉”)
You can’t be too careful in your work. 你工作越仔细越好。(不是“你工作不能太仔细”)
It has been 4 years since I smoked. 我戒烟4年了。(不是“我抽烟4年了”)
All his friends did not turn up. 他的朋友没全到。(不是“他的朋友全没到”)
People will be long forgetting her. 人们在很长时间内会记住她的。(不是“人们会永远忘记她”)
He was only too pleased to let them go. 他很乐意让他们走。(不是“他太高兴了,不愿让他们走”)
It can’t be less interesting. 它无聊极了。(不是“它不可能没有趣”)

[via]

Categories: language Tags: ,

解决nginx和php-fastcgi上传大文件的问题

October 3rd, 2009 Wei No comments

近来需要在blog中上传一些比较大的照片,却发现无论是Flash Uploader还是Web Uploader均无法上传。经过一番试验,发现这种情况仅发生在上传较大图片的时候,而对于几百KB的图片却不出现问题。

我的Server使用了nginx和php-fastcgi,经过检查php的配置文件,发现upload_max_filesize、post_max_size都不应该会影响上传。从phpinfo()来看,这些配置也都正确读入了。经过查看/var/log/nginx/error.log,发现其最下面几行出现日志:

2009/10/03 22:06:23 [error] 6029#0: *20 client intended to send too large body: 1345385 bytes, client: x.x.x.x, server: weigblog.com, request: "POST /wp-admin/async-upload.php HTTP/1.1", host: "www.weigblog.com"

既然log是nginx报出来的,那问题自然出现在nginx上。经过查询nginx的wiki,解决方案如下:

在/etc/nginx/nginx.conf中添加如下配置:

http {
        ...
        client_max_body_size 100m;
        ...
}

之后运行/etc/init.d/nginx reload重新载入配置文件,上传搞定。