||||||||||||||||||||双字节支持问题,求高人!!

发表于:2007-06-09来源:作者:点击数: 标签:
我装了个 MI NI的FREEBSD45,但是在tar时出现问题:遇到中文文件名时不能被处理,怎么办?? 报告:Invalidargument cp也不行 我已经设置了环境: setenvLANGzh_CN.EUC setenvLC_ALLzh_CN.EUC setenvLC_CTYPEzh_CN.EUC or setenvLC_CTYPEen_US.ISO8859-1 水

 我装了个MINI的FREEBSD45,但是在tar时出现问题:遇到中文文件名时不能被处理,怎么办??
报告:Invalid argument
cp 也不行

我已经设置了环境:
setenv LANG zh_CN.EUC 
setenv LC_ALL zh_CN.EUC 
setenv LC_CTYPE zh_CN.EUC
or
setenv LC_CTYPE en_US.ISO8859-1

 水果糖 回复于:2003-05-22 14:06:37
看来问题太幼稚了 

 qjlemon 回复于:2003-05-22 14:19:03
我用的LANG=it_CH.ISO8859-15,没出现过类似的问题。试试?

 水果糖 回复于:2003-05-22 15:52:35
大哥我试过了,不行啊!救命啊!!!

 qjlemon 回复于:2003-05-22 17:47:31
你用的setenv, 是c shell吧?确认一下LANG这个环境变量确实生效了
echo $LANG
我在4.5、4.7、4.8、5.0 的mini版从来都是这么用的。

 qjlemon 回复于:2003-05-22 17:48:37
我的shell是sh,那个环境变量是设在/etc/profile里面的。

 水果糖 回复于:2003-05-23 13:54:18
 我用的是csh啊,用root登录的!

 qjlemon 回复于:2003-05-23 14:09:46
刚看csh的man上讲,csh在编译的时候有个选项是支不支持关于语言方面的环境变量,是不是mini版的csh不支持?其实那个sh比csh更标准一些,这方面的支持很好,唯一不太满意它不支持用tab补全命令。
实在不行就用vipw把root的shell换成sh吧。

 qjlemon 回复于:2003-05-23 14:17:46
啊我知道了!
setenv it_CH.ISO8859-15

 qjlemon 回复于:2003-05-23 14:18:33
setenv LC_CTYPE it_CH.ISO8859-15

 水果糖 回复于:2003-05-25 18:07:52
 qjlemon ,非常感谢你这么耐心的指导,我很感动!:)  

不过 ops: 我的问题还是没有解决。不知道你是否可以在你的机器上试一下,在纯不启动X的情况下,tar或cp中文文件名或文件夹,看看是否遇到了和我一样的情况,谢谢 ops:

 i2era 回复于:2003-05-25 18:48:53
[quote:ad79b3c0b6="水果糖"]:在纯不启动X的情况下,tar或cp中文文件名或文件夹......[/quote:ad79b3c0b6]
不认中文名文件
显示为????
无法tar/cp

 quakelee 回复于:2003-05-25 22:30:05
至于系统的cp和cd是否支持中文编码这个我不太清楚,没有研究过。

 quakelee 回复于:2003-05-25 22:29:05
我倒~~,你们这个帖子我怎么以前没注意!
告诉你们到现在为止freebsd系统带的ls是不支持中文编码的,除非经过修改,如果希望ls支持中文编码可以使用gnuls替代,但是想打包可能还需要使用gnutar

 水果糖 回复于:2003-05-25 22:23:12
是这样的:ls显示的是?????,这无所谓啦,我也不指望在纯命令行模式下能看到中文,呵呵。可是总该让我操作吧,比如说拷贝、打包啦,用cp,tar命令都不能操作中文,中文文件和文件夹都会被从操作中剔除,并报告:Invalid argument

 qjlemon 回复于:2003-05-26 08:09:57
水果糖可能是有些背运吧,呵呵!我自己确实已经试过了,装的是4.7mini,4.5mini也试过,楼上有位朋友说要装gnu ls,其实是不必的,包括ls、tar、vi都是这样,如果没有设环境变量,处理中文就不行,但设对了变量以后就能很好地支持中文的!我的shell是/bin/sh,设了一个LANG=it_CH.ISO8859-15,从windows上telnet过去能显示中文的文件名,vi也支持中文,但没有这个变量,ls出来就是???,vi的时候就是一堆0x。
我想是不是水果糖用的shell或ls不是mini版自带的那个呢?或者设了某个不该设的环境变量?或者在home下面有什么神秘的配置文件?哈哈这就难说了。

 qjlemon 回复于:2003-05-26 08:13:59
还有cp或tar的时候有时需要把文件名用引号括起来,否则一些带空格或特殊字符的文件名是无法处理的。

 quakelee 回复于:2003-05-26 12:08:02
那你是怎么在控制台下显示中文的?
不会是用CXterm吧
不装zhcon的话控制台下看不到吧

 qjlemon 回复于:2003-05-26 12:19:29
[quote:044a55e92a="quakelee"]那你是怎么在控制台下显示中文的?
不会是用CXterm吧
不装zhcon的话控制台下看不到吧[/quote:044a55e92a]
嘻嘻我就没打算在控制台下显示中文。。。
是这样,我用zhcon做的,ls之类是可以的,不过在我的本本上有些小问题,后来就没用它了,我一般在控制台上只是调一调程序,不需要中文。

 quakelee 回复于:2003-05-26 12:45:50
那你的意思就是说控制台下用zhcon就可以了
x里面用CXterm之类的解决是么。回头我试试,然后加精嘻嘻~
不过可能要过几天我可不想在vm里面装了:(

 qjlemon 回复于:2003-05-26 12:50:07
CXTerm没用过!呵呵,够土吧。。
我是感觉象中文支持之类的东西放在图型界面的支持下实现比较好,象zhcon之类总感觉不太可靠,如果死掉的话把控制台都弄得不好用了,而在X下面大不了就是死掉几个进程而已。

原文转自:http://www.ltesting.net