免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3894 | 回复: 3
打印 上一主题 下一主题

FreeBSD 转文件到 CentOS的中文文件名乱码问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-18 11:36 |只看该作者 |倒序浏览
也不知道是发到FreeBSD区好还是CentOS区好, 2边都发一下试试,希望大侠们帮忙看看,

2台服务器, 一台是FreeBSD6.4, 一台是CentOS 5.2, 同样的配置, 同样的apache2.2, php5.2,  同样的网站代码, 但跨平台之间的中文文件名搞得我非常郁闷:


一、 FreeBSD下面通过网站上传带有中文文件名的文件时,  用putty在FreeBSD中查看是乱码, 这关系不大, 因为用Windows下的FTP软件查看时显示是正确的中文名, 而且FTP下载下来后可以在Windows中正确显示。但CentOS却怎么也不行, 同样的网站代码在CentOS上写入中文文件名, 却都显示乱码, 在CentOS下是乱码,在Windows用FTP查看也是乱码, 下载下来也无法正常显示。

二、将FreeBSD中的这些带有中文文件名的目录用tar 打包压缩上传到 CentOS中解开时, 解压过程中不断有错误提示:

tar: Ignoring unknown extended header keyword `SCHILY.dev'
tar: Ignoring unknown extended header keyword `SCHILY.ino'
tar: Ignoring unknown extended header keyword `SCHILY.nlink'
tyx-test/\303\250\302\207\302\263\303\245\302\260\302\212\303\245\302\256\302\235B\303\245\302\236\302\213\303\250\302\204\302\232\303\246\302\236\302\266.jpg

解开的文件能用,但显示时还是乱码, 用Windows时查看也是乱码,但这些文件在FreeBSD上面时,用Windows是可以正常显示的。


开始怀疑是locale及语言环境的关系,FreeBSD用locale查看,都是默认的"C", CentOS是zh_CN.GB18030,但无论我将CentOS上改为en_US.UTF-8还是zh_CN.UTF-8,甚至也设为"C", 可结果都是一样。

请各位帮忙看看,这究竟是什么原因,怎么样可以让FreeBSD打包的文件可以在CentOS中正确解压,并且也可以在Windows中显示正常, 怎样可以让CentOS中用网站上传有中文文件名的文件可以在Windows下查看正常。

论坛徽章:
0
2 [报告]
发表于 2008-12-18 11:42 |只看该作者
现在想解决的重点问题是,CentOS中怎样可以让网站上传的中文文件名可以在Windows中查看显示正确,至于在CentOS中显示随便他怎么乱都可以,毕竟大量的产品名都是中文,只要可以在Windows中正确查看整理就可以,而在FreeBSD中原来就可以,CentOS中要怎么设置才行

论坛徽章:
0
3 [报告]
发表于 2016-02-24 17:39 |只看该作者
tar 的问题是因为tar的版本不对造成的。
比如我的mac os里,tar zcf xxx.tgz xxx以后传到linux里解压也出现很多类似:
tar: Ignoring unknown extended header keyword `SCHILY.ino'
tar: Ignoring unknown extended header keyword `SCHILY.nlink'
tar: Ignoring unknown extended header keyword `SCHILY.dev'
tar: Ignoring unknown extended header keyword `SCHILY.ino'
tar: Ignoring unknown extended header keyword `SCHILY.nlink'
tar: Ignoring unknown extended header keyword `SCHILY.dev'
之类的错误。

在mac os终端里运行:/usr/bin/tar --version 命令,得到如下结果:
bsdtar 2.8.3 - libarchive 2.8.3

解决方法是安装gnu-tar,在mac os里我使用的命令是:brew install gnu-tar,然后将PATH环境变量进行修改后即可通过命令tar直接调用安装好的gnu-tar了。
PATH="/usr/local/opt/gnu-tar/libexec/gnubinPATH"

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
4 [报告]
发表于 2016-02-24 22:10 |只看该作者
linux用的是utf8,
windows跟bsd或许都是zhcn
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP