这次问题主要是由于用flashfxp采用二进制(ANSI)编码传送文档到linux服务器所导致的。应该属于“历史遗留”问题——我们在2010.9更换了硬盘,重新部署了FTP服务器,并统一采用了UTF-8编码。
问题比较烦人:开始,我尝试将旧硬盘挂载到系统上,并让同事用ANSI编码模式下载旧资料(约有50G左右),结果存在大部分资料下载失败!
然后我开始一步一步折腾:
1、用zip命令压缩整个文件夹,然后移动硬盘拷贝压缩文件,到windows上面解压——失败,提示压缩包损坏(估计是压缩文件太大?)
2、OK,换用tar进行压缩,压缩成tar.gz格式,并且分成3个文件夹压缩——还是失败,丢失几千个文件,肯定不行!
3、由于公司内部服务器(HTTP/FTP/SAMBA/MYSQL/DNS/PHP…),我不能乱改编码,随意重启,所以,我拿来螺丝刀,将盘子给卸下来,放到另外一台电脑上。因为这块盘子里面本来就有一个centos系统,所以我直接挂上硬盘启动!
继续悲剧,出现了昨天写的那篇文章《PCI:NOT USING MMCONFIG解决方法》中遇到的问题,然后我逐一按照linuxquestions.org上面的解决方法都不行!就是启动不起来!!!!失败!
4、今天,我终于解决它了——在台式机自身硬盘上装上centos系统,然后安装samba服务,然后挂载上这块旧硬盘。
fdisk -l #查看硬盘分区情况
mkdir /mnt/ftp #新建ftp文件夹
mount -t ext3 /dev/sdb7 /mnt/ftp #挂载sdb7到/mnt/ftp
vim /etc/sysconfig/i18n #打开系统编码文件编辑
LANG="zh_CN.GBK" #设置编码为GBK(默认应该是UTF-8),wq保存退出
vim /etc/samba/smb.conf #打开samba配置文件编辑
[global] #全局设置
workgroup = WORKGROUP #设置工作组
server string = Samba Server Version %v #版本号,不必修改,保持默认
security = share #安全模式为share模式(很不安全,生产环境禁用)
display charset = cp936 #显示中文
unix charset = cp936
dos charset = cp936
[ftp] #共享名称
comment = ftp #描述
path = /mnt/ftp #路径
guest ok = yes #权限为游客
read only = no #设置可读写
browseable = yes #浏览器打开
然后在windows服务器上打开网上邻居,找到这台机子的共享目录,打开一看,果然不是乱码,且可以复制/修改/删除!
搞定!
原创文章,转载请注明: 转载自三叶草
特别声明:商业网站转载需经作者同意,否则视为侵权!
评论:2
参与评论