各位兄弟,请教问题:
写了一个java程序从unix相应目录里下载中文名的文件,文件名(中文)作为参数从页面post到后台拼成要访问的文件路径,比如path="/appdatas/alarm/规范.doc",而在unix上相应的目录下也有这个文件,但是
File file = new File(path);
if(file.exists()){//download}
这里file.exists()判断竟然是false;查了一下可能是unix上《规范.doc》的中文名编码跟path里的不一致,之后用了获取jvm编码参数file.encoding等对path进行编码解码什么的都不行.
最后没办法想用scurecrt到unix上给《规范.doc》重命名,crt的会话选项设置编码是default,crt上ls出来的文件都能正常显示,locale的参数LANG是空的,

但是复制“规范”的时候会乱码,不管是从crt到crt还是从其他地方到crt,我想知道这个系统的编码是从lang参数辨别的吗?这里没值是什么意思?
修改会话选项编码成utf8、用export LANG=zh.UTF-8等命令修改编码参数后,crt显示乱码、从crt复制文字也乱码(因为不知道unix到底编码是什么,只能瞎试)
布在linux上没问题,linux的lang是utf-8,但是布在unix上就不行了,对unix也不熟悉,网上检索了n久试了n次未果,快崩溃了,各位兄弟给看下吧。。ORZ