导航:首页 > 编程语言 > linuxjava文件名乱码

linuxjava文件名乱码

发布时间:2022-05-04 07:39:23

linux下的文件名怎么是乱码的

如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。
查看编码的方法

方法一:file filename
方法二:在Vim中可以直接查看文件编码
:set fileencoding
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开
文件编码转换

多平台方法:
iconv 提供标准的程序和API来进行编码转换;
convert_encoding.py 基于Python的文本文件转换工具;
decodeh.py 提供算法和模块来谈测字符的编码;
linux下文件编码转换:

方法一:

在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8

或者

11)设置文件集合,即要对哪些文件进行操作,可以使用通配符,比如我通常是对 C/C++ 源程序进行编码转换

:args *.h *.cpp

2)给出要在每个文件上执行的命令,这里是转换编码:

:argdo set fenc=utf-8 | update

方法二:

iconv 转换

5.案例:

假如说我们将windows下的一个UTF-8的文件传到linux环境下,linux环境下的系统编码是GB18030,我们cat的时候就会出现乱码,这个时候就应该想到转码了,下面我们来进行试验:

我们将windows下一个名为UTF-8.sh的文件传到linux系统中,其中UTF-8.sh的内容如下:

我是中文编码UTF-8模式~

而linux系统的系统语言设置为:

[root@sor-sys zy]# cat /etc/sysconfig/i18n
LANG=zh_CN.GB18030
SYSFONT="latarcyrheb-sun16"
这个时候查看一下文件的内容及编码:

[root@sor-sys zy]# file UTF-8.sh
UTF-8.sh: UTF-8 Unicode text, with no line terminators
[root@sor-sys zy]# cat UTF-8.sh
锘挎垜鏄?腑鏂囩紪镰乁TF-8妯″纺~[root@sor-sys zy]#
[root@sor-sys zy]#

这个时候我们就需要转换编码了,记得使用iconv

[root@sor-sys zy]# iconv -f UTF-8 -t GB18030 UTF-8.sh -o GB18030.sh
[root@sor-sys zy]# cat GB18030.sh
??我是中文编码UTF-8模式~[root@sor-sys zy]#
[root@sor-sys zy]# file GB18030.sh
GB18030.sh: Non-ISO extended-ASCII text, with no line terminators
[root@sor-sys zy]#

convmv就是更改文件名编码方式的一个工具。
比如

sudo convmv -f gbk -t utf-8 -r –notest /home
就是将/home目录下原来文件名是gbk编码方式的全部改为utf-8格式的。这里 -f 后面为原来的编码方式,-t 后面是要更改为的编码方式, -r 表示这个目录下面的所有文件, –notest 表示马上执行,而不是仅仅测试而已。另外这命令好像要root才能执行,因此要加上 sudo。

java在linux系统下文件夹出现中文乱码的问题

问题描述:
linux的默认字符编码是utf-8,在linux上存的是中文名的文件,但是用java读出来就是乱码,全是??????然后我通过:new
String(files[i].getName().getBytes("GB2312"),"UTF-8");这样处理一下,中文文件名全变成了?????,应该怎么转码才能获取中文?
问题答案:
Java
中的字符编码默认是Unicode
用new
String(files[i].getName().getBytes("UTF-8"),"UTF-8");试下看对我有帮助
用utf8格式上传,然后再用utf8格式下载就好了,但是服务器上存的是乱码的,遍历出来是中文的。

❸ Java读取linux文件名时候乱码

要不文件名中含有中文字符,可以试试gb2312编码

❹ Java读取linux系统中文文件名时候乱码,并显示文件不存在

我记得InputStreamReader和OutputStreamWriter不是可以设置编码的吗?
方式应该是:OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
这样还乱码?那就二进制读取就行了。
记得保证整个编译环境编码统一。

❺ java读取linux下文件名乱码

Linux下读取文件名乱码可能的原因是:
1.linux系统默认编码不支持中文字符

2.文件名本身是乱码

解决方案是在读取文件名的时候,要进行显式的编码转换如下:

FileInputStreamfis=newFileInputStream("fileName");
InputStreamReaderisr=newInputStreamReader(fis,"utf-8");

❻ java在linux下遍历文件夹,文件名中文乱码的问题

Java 中的字符编码默认是Unicode
用new String(files[i].getName().getBytes("UTF-8"),"UTF-8");试下看

❼ java在linux下创建文件,中文文件名为乱码。请问这个问题是怎么解决的,谢谢~

修改linux的编码方式。或者不要命名中文。最好是不要命名为中文

❽ 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());
然后再把转完编码的文件名按你的要求进行截取

❾ 在linux下编辑的的java文件在window下显示乱码乱码

linux一般用UTF8编码的。WINDOWS是用gbk的。所以有汉字的时候会乱码,没汉字的时候换行也会出问题。你可以用一些高级点的文本编辑器或者使用IDE,比如说你用JCreator打开就可以了。

补充:你用什么IDE的?如果你直接从命令行编译的,可以通过javac的参数来指定字符集,即javac -encoding utf8 文件名。

❿ java在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"/>
zip包是在windows环境下打的压缩包,通过java控制在linux环境下解压之后,解压出来的文件和文件夹中的中文文件名是乱码,请问应如何解决

阅读全文

与linuxjava文件名乱码相关的资料

热点内容
fibonacci数列算法 浏览:775
产品经理要和程序员吵架吗 浏览:252
grub2命令行 浏览:618
无法获取加密卡信息 浏览:774
云服务器网卡充值 浏览:509
编程就是软件 浏览:49
服务器如何添加权限 浏览:437
引用指针编程 浏览:851
手机加密日记本苹果版下载 浏览:63
命令行括号 浏览:176
java程序升级 浏览:490
排序算法之插入类 浏览:227
gcccreate命令 浏览:73
海尔监控用什么app 浏览:64
系统盘被压缩开不了机 浏览:984
linuxredis30 浏览:541
狸窝pdf转换器 浏览:696
ajax调用java后台 浏览:905
活塞式压缩机常见故障 浏览:614
break算法 浏览:731