windows文件复制到linux乱码 -解决方法

从linux往 windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名 中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。
在Linux中专门提供了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。

如下是详细操作:

[[email protected] images]# ls
???_20170808142307.png                bg_1.png  icon10.png  n1.png                   QQ??20170808124717.png
20170814_3089106_1_1020482_30008_0.JPG  bg_2.png  icon11.png  n2.png                   QQ??20170808124835.png
20170814_3089107_2_1020482_30008_0.JPG  bg_3.png  icon1.jpg   n3.png                   QQ??20170808125029.png
20170814_3089108_3_1020482_30008_0.JPG  bg_4.png  icon2.png   n4.png                   QQ??20170808125556.png
2017082301.JPG                          bg_5.png  icon3.png   n5.png                   SS1-1.png
2017082302.JPG                          bg_6.png  icon4.png   nav_ico.png              ss1-2.png
2.jpg                                   bg_7.jpg  icon5.png   peixuntu.jpg             ss1.png
333.png                                 bg_9.jpg  icon6.png   ?????.png               transparent.gif
444.png                                 f1.jpg    icon7.png   ??????.png              xztb01.png
about2_wpsA087.tmp.png                  f2.jpg    icon8.png   ??????.png              xztb.png
about2_wpsA088.tmp.jpg                  f3.jpg    icon9.png   ??????.png              ziliaoxiazai.png
about2_wpsA089.tmp.jpg                  f4.jpg    logo 1.jpg  ????????.png             ??????.png
about2_wpsA08A.tmp.png                  f5.jpg    logo2.jpg   QQ??20170808105711.png
about3_wps8BA0.tmp.png                  gywm.jpg  logo.png    QQ??20170808124354.png
(如上查看时有很多的乱码)
[[email protected] wwwroot]# yum install -y convmv.noarch 
(需要安装这个包)
[[email protected] test.com]# convmv -f gb2312 -t UTF-8 --notest -r  Assets 
mv "Assets/t/±¨±ls"	"Assets/t/考试报名表.xls"
mv "Assets/t/.rar"	"Assets/t/考试模拟器.rar"
mv "Assets/t/′.png"	"Assets/t/代理证.png"
mv "Assets/t/±¨±).xls"	"Assets/t/考试报名表(1).xls"
mv "Assets/upload/QQ20170809100124.png"	"Assets/upload/QQ截图20170809100124.png"
mv "Assets/upload/3jpg"	"Assets/upload/xx.jpg"
mv "Assets/upload/ˉ.jpg"	"Assets/upload/xx.jpg"
mv "Assets/upload/a′jpg"	"Assets/upload/xxx.jpg"
mv "Assets/upload/1.jpg"	"Assets/upload/xxx.jpg"
mv "Assets/upload/aμ聦.jpg"	"Assets/upload/xxx.jpg"
Ready!
如上就是用convmv来解决的,如下是它的语法介绍:
命令使用:
格式:convmv -f 源编码 -t 新编码 [选项] 文件名/目录名
GB2312->UTF-8
1
2
convmv -f gb2312 -t UTF-8 --notest -r 目录
convmv -f gb2312 -t UTF-8 --notest 测试.txt
(说明windows中默认的是gb2312 需要转换为linux中的utf-8,命令解释:
-f 参数是指出转换前的编码;
-t 是转换后的编码;
-r 递归处理子文件夹;
--notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验)

希望看过的童鞋多多指教,谢谢!

时间: 2024-08-29 16:22:50

windows文件复制到linux乱码 -解决方法的相关文章

windows文件复制到linux乱码,转换文件名编码

前言 Windows中文系统,默认编码是GB2312,而Linux系统默认编码是UTF-8.要想正确显示,要么修改Linux系统编码为GB2312,要么修改文件名编码(文件内容不修改). 显然我们选择第二种,修改文件名编码. 安装 Centos系统命令:  yum -y install convmv Debian系统命令:  apt-get install convmv 命令使用 格式:convmv -f 源编码 -t 新编码 [选项] 文件名/目录名 GB2312->UTF-8 convmv 

jsp页面保存到数据库有乱码解决方法

第一种: 在页面前加上 <%@ page language="java" contentType="text/html;charset=gbk" errorPage=""%> <%request.setCharacterEncoding("GBK");%> 第一行说明你的页面用的是中文编码 第二行声明你的页面传值也用中文编码 第二种 tomcat4.x支持中文传码,但5.x不支持,如果用5.0以上的版本

linux安装Navicat,界面出现乱码解决方法 (转发)

环境:Centos7 下载Navicat:navicat112_mariadb_cs_x64.tar.gz 点击" ./start_navicat"安装出现界面便面为乱码 解决办法:打开start_navicat文件, export LANG="en_US.UTF-8" 改为 export LANG="zh_CN.UTF-8". 源文章:Ubuntu 安装Navicat,界面出现乱码解决方法:http://blog.csdn.net/u01085

httpclient 4.3 psot方法上传文件与参数 中文乱码解决

废话不多说,直接上有码的! 1 package httpclient; 2 3 import java.io.File; 4 import java.nio.charset.Charset; 5 6 import org.apache.http.Consts; 7 import org.apache.http.Header; 8 import org.apache.http.HttpEntity; 9 import org.apache.http.client.methods.Closeable

mysql导入导出数据中文乱码解决方法小结

inux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 复制代码 代码如下: mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql 那么导入数据的时候也要使用--

Vim的行号、语法显示等设置(.vimrc文件的配置)以及乱码解决

在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号.语法高亮度显示.智能缩进 等功能的.为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc.在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本, 所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为:$vi ~/.vimrc #支持putty鼠标粘贴 if has('mouse') set mouse -= a endif 设置完后$:x 

VIM显示utf-8文档乱码解决方法

1.相关基础知识介绍 在Vim中,有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding和termencoding.在实际使用中,任何一个选项出现错误,都会导致出现乱码.因此,每一个Vim用户都应该明确这四个选项的含义.下面,我们详细介绍一下这四个选项的含义和作用. (1)encoding encoding是Vim内部使用的字符编码方式.当我们设置了encoding之后,Vim内部所有的buffer.寄存器.脚本中的字符串等,全都使用这个编码.Vi

gvim的菜单乱码解决方法

gvim的菜单乱码解决方法: (乱码是由于系统内码不兼容导致,系统内码包括gb2312 gb18030 utf-8 utf-16[unicode]等) 生成文件 ~/.gvimrc 并添加如下语句:set encoding=chineseset langmenu=zh_CN.GBKset imcmdlineset guifont="Serif 14"source $VIMRUNTIME/delmenu.vimsource $VIMRUNTIME/menu.vim 保存后即可解决乱码问题

[转]mysql导入导出数据中文乱码解决方法小结

本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 代码如下: mys