- 论坛徽章:
- 0
|
也不知道是发到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下查看正常。 |
|