A. 通过java控制linux环境下解压文件夹后中文文件名是乱码
将linux当前环境设置为中文环境即可。
修改/etc/sysconfig/i18n 文件
LANG="zh_CN.GB2312"
B. windows显示linux文件名出现乱码,日文
Linux文件名、文件内容乱码,主要原因是windows上的中文编码默认是GBK,而Linux默认中文编码为UTF-8,由于编码不一致,所以导致乱码问题。
为了解决这个乱码,需要对文件进行转码,具体如下:
1、前提保证已安装了convmv;
2、具体convmv的用法:
Convmv –f 源编码 –t 新编码 [选项] 文件名
一般常用参数:
-r 递归处理子目录
--notest 真正进行操作,默认情况下是不对文件进行真实操作的,只是一个预览
--list 显示所有支持的编码
--unescap 可以做一个转义
3、比如我们有一个utf8的文件名,要求转换成gbk编码,命令如下:
Convmv –f utf-8 –t gbk –notest 文件名
也可以使用linux下最好用的编码转换工具iconv来进行转码操作。
例子:将GBK编码的文件转换成UTF-8
iconv -f GBK -t UTF-8 gbkfile.txt > utf8file.txt
批量转换方法:
1. 生成相应的目录结构:
find origin -type d -exec mkdir out{} \;
根据origin下的目录结构,生成相应的目录结构到outorigin下;
2. 转换匹配的文件编码:
find origin -type f -name '*.java' -exec iconv -f GBK -t UTF-8 {} -o out{} \;
将origin目录下后缀为java的文件编码从GBK转换成UTF-8,并保存在outorigin目录下。注意,先确定源文件的编码格式,选择相应的编码(这里是GBK的),否则转换出来的还是乱码。
3. 还可以继续转换其它匹配的文件:
如:转换HTML文件
find origin -type f -name '*.html' -exec iconv -f GBK -t UTF-8 {} -o out{} \;
C. 在linux下编辑的的java文件在window下显示乱码乱码
linux一般用UTF8编码的。WINDOWS是用gbk的。所以有汉字的时候会乱码,没汉字的时候换行也会出问题。你可以用一些高级点的文本编辑器或者使用IDE,比如说你用JCreator打开就可以了。
补充:你用什么IDE的滑游?如果你直接从命令行编译的,可以帆耐通过态让春javac的参数来指定字符集,即javac -encoding utf8 文件名。
D. java fileLists读取linux服务器文件名中文乱码
JBoss4.0.5使用的是自tomcat5,而tomcat的默认字符集是ISO-8859-1.找到JBoss的根目录下名 为\%JBoss4.0.5%server\default\deploy\jbossweb-tomcat55.sar的文件夹.
修改server.xml文件.
修改方法,找到<Connector port="8080"
......>默认是8080端口,在后面加入URIEcoding='UTF-8',字符集根据页面进行相应的设置,我的整个项目是使用UTF-
8字符集(包括UTF-8).
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
E. java在linux下遍历文件夹,文件名中文乱码的问题
Java 中的字符编码默认是Unicode
用new String(files[i].getName().getBytes("UTF-8"),"UTF-8");试下看