A. 通过java控制linux环境下解压文件夹后中文文件名是乱码
将linux当前环境设置为中文环境即可。
修改/etc/sysconfig/i18n 文件
LANG="zh_CN.GB2312"
B. 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
C. Linux系统下,用File 里的createNewFile()创建文件是中文名,文件名为一堆问号
createNewFile()创建时用中文一定是乱码,因为它是以二进制形式进行写入的内.而touch命令是直接对容用户的输入进行直译写入操作,不会转换格式,所以显示正常. 这种并无解决办法,其实linux应用方面建议还是多用英文,linux目前还是存在很多编码转换问题,毕竟linux系统就是用英文编写的,对中文的支持上迄今只在界面话上有所提高,终端的操作还是少用中文吧.
D. linux中文文件名乱码怎么解决
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)编码打开文件编码转换。
E. 如何解决linux上有中文命名的文件名压缩后下载到windows上再解压出来都是乱码
Linux系统默认的字符编码是 UTF-8 Windows 是 GBK 编码,不支持UTF8. 所以 Linux下 的中文文件名到 Windwos下就成了乱码。关于这个linux系统的学习,我一直看刘遄老师的书籍《linux就该这么学》,感兴趣的也可以去看看啊。
解决办法, 一个是 用英文文件名。 另一个,把Linux系统的文件名转成GBK编码的。 不过这种转换有可能造成信息丢失。 因为 UTF8 不能 100% 转换成GBK。 但GBK可以完全转换成UTF8.
相关转换命令是 convmv 可能需要安装。
网络一下这个命令的用法。 转换完了再打包, 到Window下应该就正常了。
还是建议你最好用英文名。