javalinux乱码
‘壹’ java String.charAt在linux下获取中文怎么是乱码
跟编码有关。试试有结论再告诉你。
1、跟Eclipse的编码设定有关。具体路径:Windows->Preferences->General->Workspace中有一个设定项为“Textfileencoding”,这个选项指定了保存源码时使用的编码方式。我看了一下在Window下选项为Default(GBK),Linux下该选项为Default(UTF-8),编码方式的不同,决定了“我是中国人”转换成Byte数据不同。这就是为什么在Window下和在Linux下不同结果的原因。
2、在Linux环境下,通过修改上述设定项为Other:GBK,可以得到和Window下的同样效果。修改后的设定截图如下:
‘贰’ 在linux下编辑的的java文件在window下显示乱码乱码
linux一般用UTF8编码的。WINDOWS是用gbk的。所以有汉字的时候会乱码,没汉字的时候换行也会出问题。你可以用一些高级点的文本编辑器或者使用IDE,比如说你用JCreator打开就可以了。
补充:你用什么IDE的?如果你直接从命令行编译的,可以通过javac的参数来指定字符集,即javac -encoding utf8 文件名。
‘叁’ linux下的java通过ftp读取另一linux下的文件名出现中文乱码。
需要转一下编码,你的java的class文家中是GBK的编码,对面linux下是iso8859-1编码
String fileNameTmp = new String(files[i].getBytes("iso-8859-1"), "GBK");//将从linux取得的文件名转换为GBK编码
String filename=fileNameTmp .substring(regStr.length()+1,fileNameTmp .length());
然后再把转完编码的文件名按你的要求进行截取
‘肆’ java在linux下遍历文件夹,文件名中文乱码的问题
Java 中的字符编码默认是Unicode
用new String(files[i].getName().getBytes("UTF-8"),"UTF-8");试下看
‘伍’ 通过java控制linux环境下解压文件夹后中文文件名是乱码
将linux当前环境设置为中文环境即可。
修改/etc/sysconfig/i18n 文件
LANG="zh_CN.GB2312"