我从 Debian 复制一批文件夹到 Windows 之后,部分文件夹和文件的中文或日文名称变成了一条线。
貌似是我从 ext4 格式的硬盘复制到 ntfs 或fat 格式的硬盘中时,文件名就已经发生了这种变化。
希望寻求解决方案


我从 Debian 复制一批文件夹到 Windows 之后,部分文件夹和文件的中文或日文名称变成了一条线。
貌似是我从 ext4 格式的硬盘复制到 ntfs 或fat 格式的硬盘中时,文件名就已经发生了这种变化。
希望寻求解决方案


是在什么操作系统下进行的?我在 LinuxMint 下,从 EXT4 分区复制文件到 NTFS 分区中,没有遇到这种问题。
Debian 12
会不会和 Debian 系统的语言设置有关?我这边 locale 的配置情况是:
$ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
这个没试过,我一直都是 LANG=en_US.UTF-8
因为很多地方感觉英文系统更方便些,所以直接就是默认的英文
试试看用smb共享拷贝出来呢
看看是不是编码问题,先用bash看一下文件名,比如git bash
具体是要怎么查看文件名的编码?
看不出来,只能一个一个试,然后看是不是乱码。
用bash改编码比较方便,也能看文件是不是出问题了。
一般来说,windows乱码主要就是gbk和utf8的差异。
好的,多谢指导
现在感觉又不太像是编码方式不同引起的乱码,而是文件名长度超过了文件系统的某些限制导致的。之前我使用 mkisofs 命令将文件打包为光盘镜像,发现一些文件名较长的文件,名称变成了下划线 ____,不知道您遇到的问题会不会也是类似的情况。
应该不是文件名过长,因为有些是很短的,我的文件都是音乐,专辑名基本都比较短,而且只要是英文的,再长的专辑名都没事儿
楼主需要多提供一些信息:是怎样“从 Debian 复制一批文件夹到 Windows ”的?
1990 - 想念你精选那些目录名是否正常?1990 - 想念你精选那些目录名是否正常?从 Debian 12 Gnome 桌面直接用鼠标,右键复制粘贴进 ntfs 或 fat 格式移动硬盘,原文件名是正常显示的,但复制进移动硬盘就变成一条线了,此时都还没粘贴进 Windows 系统
我有两个解决方案
1,写一个程序或脚本,创建每个文件的md5和文件名对照表,在Windows下重建文件列表
很明显没有现成的程序,如果您决定要编写,我可以帮您编写Windows端的程序或脚本,但另一端可能需要您自己完成
2,使用分区软件——如Windows下的diskgenius软件,直接打开ext4分区使用此软件对文件夹进行拷贝,以保证一致性
在此先多谢大佬的热心帮助。
不过我应该不需要这种方式了,因为我的文件全都是音乐,所以目前我自己的处理方案是移动到 Windows 平台之后,再使用 exiftool 直接读取音乐文件的 标签信息 ,重新生成一次文件名就可以重新改回原文件名了,这种方式对于目前的我来说,应该算是最为简单快捷的方式了。若之后没看到其他更好的方式,我就先按照我的方式处理着吧。
再次感谢本帖子中所有大佬的热心指导 ![]()
其实您的方法很巧妙哦,您可以把帖子加上“已解决”字样以帮助可能出现这个问题的其他伙伴
好的。
就是有点儿变成了自问自答,最后还是用我自己的方法,有种奇奇怪怪的感觉 ![]()
或许还有一种可能,是系统的汉字字符集不全。我用 mkisofs 制作光盘镜像时,没有指定字符集,命令行输出的意思好像是因为缺少字符集,所有汉字都会用下划线代替。
比如这样:
I: -input-charset not specified, using utf-8 (detected in locale settings)
Using V____000.VST;1 for /V-四联剖面图.vst (V-剖面图.vst)
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 402
Path table size(bytes): 10
Max brk space used 0
2580 extents written (5 MB)
所以我觉得,您的这个问题或许还是和系统的语言环境有一定关系。您使用的是英文系统,可能缺少一些和中文环境有关的软件包或库,因此部分涉及汉字的功能可能有一些问题。
您可以试试改一下 locale 设置,换成中文环境。
大概率是文件编码问题.
可以用FTP模式复制试试.