linux中,我的LC_ALL环境是zh_CN.gbk。

当我把中文文件名文件cp到windows的fat32盘下后,重起进入windows后发现文件名全是乱码。

首先google,baidu了下,发现都推荐用convmv,这个工具是用perl编写的,确实非常好用的工具,不过在我这里它不适合。

----------------------------------我是华丽的分割线---------------------------------

还是拿具体例子来说话,比如说文件,政治.txt,先说下造成乱码的根本原因,在windows下用winhex查看后,发现,

那些文件名确实是gbk编码,只不过,编码给分开了。

政治,gbk编码 D5FE D6CE ,可是在硬盘上存储的时候却变成了,D500 FE00 D600 CE00。就算没有多出这些00,我自己手动

改成 D5FE D6CE也不可以,因为windows下用的是unicode编码。

----------------------------------我是华丽的分割线---------------------------------

尝试下在linux中用convmv把gbk转成unicode看看,不过之前,先用hexedit看下。

无法转换成unicode,ucs-2le或者utf-16le,因为linux不支持,这个编码的文件名...

结果发现,hexedit不能看文件名,它只是看内容的。

----------------------------------我是华丽的分割线---------------------------------

从linux再在ntfs下面写个文件名看看,是不是也是乱码。

这个发现不是乱码,并且用这个方法成功解决问题。

解决方法:把乱码的文件和文件夹,在linux下,从fat32盘,cp到/root,然后再mv到ntfs盘,就ok了~。

----------------------------------我是华丽的分割线---------------------------------

问题总结:

自己费了好多时间,10几个小时,研究怎么在fat32上面恢复中文,除了手工自己修改外,

在linux下面用convmv怎么都不行。因为linux内置支持utf-8,可是不支持utf-16。

所以在最后执行rename 操作时,识别不了utf-16的文件名而报错。

不过,倒是因为这个问题,我对编码的各种方式和区别,还有转化方法,有了更好的认识~

----------------------------------我是华丽的分割线---------------------------------

原因分析:

在挂载 我的fat32盘时,mount设置了编码方式为gbk. ntfs没有发现用什么设置,

难道这个是原因?再进入linux自己研究下。

linux cp 中文文件名,linux下将中文文件名文件cp到windows目录下后文件名乱码问题的解决...相关推荐

  1. 批量移动某目录下某类型的文件到指定的目录下

    问题描述:由于目录下存在多个文件"***.so"且散布在不同的层级目录下,一个个去删除或者移动非常费力不讨好.于是想到有没有技巧可以批量移动,就想到了xargs参数,命令如下,且实 ...

  2. 编写个shell脚本将/home/test 目录下大于10K的文件转移到/tmp目录下

    #!/bin/sh cd /home/test for i in `ls -l |awk '{if($5>10240) {print $9}}'` do mv $i /tmp done 转载于: ...

  3. linux中 cp 目录不存在时,如何自动创建目录并将文件复制在新建目录下

    1:mkdir 需要进行创建不存在的目录,mkdir && cp 直接创建目录并复制文件到新建的目录下 mkdir -p ~/home/目录1 && cp test.t ...

  4. windows目录下文件详解

    ├-WINDOWS │ ├-system32(存放Windows的系统文件和硬件驱动程序) │ │ ├-config(用户配置信息和密码信息) │ │ │ └-systemprofile(系统配置信息 ...

  5. java接口保存文件到本地指定目录下

    java接口保存文件到本地指定目录下.md 一.需求 二.后端代码 三.postman模拟页面上传 一.需求 通过接口将 file 保存到本地指定目录下 动动发财小手,关注 + 点赞 + 收藏不迷路. ...

  6. java aio复制文件_java复制文件的4种方式及拷贝文件到另一个目录下的实例代码...

    尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出 ...

  7. libmysql.dll是否真的要拷贝到c:\windows目录下呢?

    很多安装PHP的教程,都是教大家把php里的libmysql.dll拷贝到c:\windows目录下(有的教程会说还要把php.ini等文件拷到系统目录的,其实一个文件都不用拷贝去的.). 是否一定要 ...

  8. Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行——怎么将Unix/Mac系统下的文件转换到Windows系统下

    先交代一下遇到的问题: 本人用的是Windows系统.在学习Triangle Mesh时,想将bunny.ply等经典的PLY文件导入程序中. 但是,文件被读入程序后,所有的内容变成了一行.从而,现成 ...

  9. getDir.sh获取目标文件并将文件放到指定的目录下

    #!/bin/bash #功能:获取目标文件并将文件放到指定的目录下 #使用方式:将文件放在jenkins的工作目录/mnt/jenkins/workspace中, # 通过命令行./getDir.s ...

  10. java复制文件的4种方式及拷贝文件到另一个目录下与删除单个文件和删除整个文件夹

    文章目录 1.使用FileStreams复制 2.使用FileChannel复制 3.使用Commons IO复制 4.使用Java7的Files类复制 5.下面看下java拷贝文件到另一个目录下的实 ...

最新文章

  1. linux中EOF的用法梳理
  2. CISS.SideMenu的bug
  3. Oracle 表数据去重
  4. oracle引用vs,VS2013中使用oracle,有关引用哪个.dll
  5. Boosting(提升方法)之GBDT
  6. 详解:设计模式之-适配器模式
  7. 搞清楚一道关于Integer的面试题
  8. Linux学习笔记012---Centos7修改环境变量
  9. 小蚂蚁学习数据结构(16)——串的堆分配储存代码演示
  10. 手游模拟器征途辅助脚本开发
  11. deeplabv3+ 跑 cityscape 数据集
  12. quot;紫陀螺quot;网友感触转载系列之…
  13. Windows 关闭 简繁体切换Ctrl+Shift+F
  14. 解决LaTeX中的\pdfendlink ended up in different nesting level than \pdfstartlink.问题
  15. 你还在为高速停车收费而烦恼吗?现已步入高速行ETC智慧交通时代
  16. 输入密码三次,简单程序
  17. item_get - 根据ID获取拼多多商品详情
  18. War Room - 战争房间
  19. 计算字符串中子串出现的次数
  20. 新形势下,我国医药企业营销管理遇到哪些挑战?

热门文章

  1. 联想笔记本声音太小怎么办_联想笔记本电脑没声音了怎么办(大学生如何选择笔记本电脑)...
  2. IBM:宏伟规划,拯救地球
  3. 3d图形计算机学,计算机科学速成课 | 27 3D图形
  4. 快应用开发工具黑屏解决方案
  5. server sql 将出生日期转为年龄_SQL中将用户的出生年月转换成对应的年龄
  6. 【Python】zip 函数
  7. Matlab求单边谱,关于实信号的双边谱和单边谱
  8. [刷题] 关于LeetCode的前言
  9. 多态的综合练习(Java)
  10. 前端300道常见面试题,前端找工作必备