① 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
② 上传到linux的zip解压乱码怎么解决
解压缩乱码和zip本身无关,应该是你的Linux操作系统设置的系统语言造成的。
一般来讲Linux的中文默认编码是zh_CN.UTF-8,而Windows的是GB2312,如果你在Windows创建zip压缩包,压缩包中的文件名称是按照GB2312打包的,到Linux解压缩自然成了乱码。
解决方法有两种,可以将Linux的默认编码变为zh_CN.GBK,这可以通过修改/etc/sysconfig/i18n文件来完成;另一种方法就是改用ftp传递未经压缩的文件,这样文件名会被FTP服务自动转码。
③ 解压rar文件时出现乱码怎么办
rar格式是压缩文件格式之一,需要用压缩软件来打开它,如果发现出现乱码,就是因为rar的默认打开程序关联出错,可以进入压缩软件进行关联修复:
打开压缩软件,如winrar:
点击“选项”——“设置”
切换到“综合”标签页,勾选需要关联的扩展名,然后点击“确定”。
④ rar打开后乱码如何解决
经常有网络朋友可能会遇到这样的问题,当打开解压后的软件发现打开文件乱码的情况。我们多数电脑中一般安装都是WinRAR压缩解压软件,在默认情况下,是可以双击打开RAR压缩包里的文件的,一般遇到手腊液文件是乱码的情况可能是压缩文件本身的问题,也可能是我们解压不当造成的问题,下面我为大家介绍以下相关解决办法。
当我们双击打开压缩包里的压缩文件时,是操作系统系统调用相关的程序来打开压缩包里面的文件。
毕物具体情况:打开压缩包的文件,只能是先将压缩包解压,然后双击才能局链正常打开。如果是直接双击压缩包里的文件,不知是什么原因,双击压缩包里的文档、图片都不能正常打开,打开后全部显示是乱码。为什么双击压缩包里的文件,会是乱码呢?原因就在于误设置了使用WinRAR的查看器来打开压缩包里的文件。
要解决双击能正常打开压缩包里的文件,而不是乱码的问题,可以先启动WinRAR软件,然后单击上面的菜单“选项”→“设置”→“查看器”选项卡,在“查看器类型”栏目里选中“关联程序”选项即可解决双击打开压缩文件为乱码的问题。
如果以上方法都无法解决问题,那么可能是压缩文件本身压缩的时候出现故障导致的,我们可以寻找下其他文件打开试试。
⑤ Linux中unzip解压时中文乱码如何解决
更改源码解决乱码
调试发现问题出现在MultiByteToWideChar方法里,
如 MultiByteToWideChar(CP_ACP,0,fn,-1,tfn,MAX_PATH); 到这里时fn中的name属性值还是正常的,在这个方法内部执行完tfn就乱了。
解决方法:
打开unzip.cpp源文件,找到函数
ZRESULT TUnzip::Get(int index,ZIPENTRY *ze)
{ // ......
// ......} 12345
这个函数里有
#ifdef UNICODE
MultiByteToWideChar(CP_UTF8,0,fn,-1,tfn,MAX_PATH);#else
strcpy(tfn,fn);#endif12345
把 CP_UTF8 改为CP_ACP, ( CP_ACP 指示要使用当前设置的 API 默认 Windows ANSI 代码页)
重新编译后
这样就解决了解压中文文件名称乱码的问题
编译时解决源码问题(无需更改源码)
上面的情况,我们我观察到unzip源代码这段开始的地方有判断
#ifndef Ext_ASCII_TO_Native 1
这样问题似乎更简单了,不用改源代码,只需在make时定义 Ext_ASCII_TO_Native 即可,这样 Ext_ASCII_TO_Native 实际为一个空的宏,不进行任何转换操作。
比如,使用下面的方法编译
make -DExt_ASCII_TO_Native 1
或者在bash执行下面两行
export LOCAL_UNZIP=-DExt_ASCII_TO_Native
make12
unzip解压缩含中文文件名zip包是出现乱码的问题解决!
如果您的系统已经安装了unzip
方法一 unzip行命令解压,指定字符集
通过unzip行命令解压,指定字符集
unzip -O CP936 xxx.zip (用GBK, GB18030也可以)1
方法二 在环境变量中,指定unzip参数
在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件
/etc/environment中加入2行
UNZIP=”-O CP936″
ZIPINFO=”-O CP936″12
方法三 利用pyton来处理
复制以下内容(python)保存未myuzip.py文件脚本,并修改运行权限为可运行(chmod +x uzip)
#!/usr/bin/env python# -*- coding: utf-8 -*-# uzip.pyimport osimport sysimport zipfileprint "Processing File " + sys.argv[1]
file=zipfile.ZipFile(sys.argv[1],"r");for name in file.namelist():
utf8name=name.decode('gbk') print "Extracting " + utf8name
pathname = os.path.dirname(utf8name) if not os.path.exists(pathname) and pathname!= "":
os.makedirs(pathname)
data = file.read(name) if not os.path.exists(utf8name):
fo = open(utf8name, "w")
fo.write(data)
fo.close
file.close()
这样以后我们解压缩时只需要运行此文件即可
./myuzip.py xxxx.zip
⑥ 如何解决linux上有中文命名的文件名压缩后下载到windows上再解压出来都是乱码
Linux系统默认的字符编码是 UTF-8 Windows 是 GBK 编码,不支持UTF8. 所以 Linux下 的中文文件名到 Windwos下就成了乱码。关于这个linux系统的学习,我一直看刘遄老师的书籍《linux就该这么学》,感兴趣的也可以去看看啊。
解决办法, 一个是 用英文文件名。 另一个,把Linux系统的文件名转成GBK编码的。 不过这种转换有可能造成信息丢失。 因为 UTF8 不能 100% 转换成GBK。 但GBK可以完全转换成UTF8.
相关转换命令是 convmv 可能需要安装。
网络一下这个命令的用法。 转换完了再打包, 到Window下应该就正常了。
还是建议你最好用英文名。
⑦ 通过java控制linux环境下解压文件夹后中文文件名是乱码
压缩成rar格式的再试试
⑧ linux显示中文乱码怎么解决
Linux中文显示不正常大多是终端字符集设置的不对,因为终端屏幕显示信息是以设置的语言来显示的,如果语言是英文或者其他编码语言设置,显示中文时就是乱码。设置终端字符集需要设置LANG这个环境变量,设置方法是在终端输入LANG=zh_CN.UTF-8,设置好LANG变量后,再在终端上用ls命令查看一下带有中文的文件名应该就有效果了。
如果经过上面的设置后,用ls命令可以正常列出中文文件名了,那就最好将LANG=zh_CN.UTF-8这一行添加到~/.bashrc这个配置文件中,然后执行命令:source ~/.bashrc,使配置文件的设置马上生效,这样终端就被完美的设置成UTF-8中文编码了。
⑨ linux系统,文件是utf-8格式的为什么会乱码呢
文件本向是UTF8的,但是你的系统当前用的可能不是,比如是GB2312,或者GBK之类的,这样看utf8格式的文件就会是乱码。