FKBFab
HLaD
SeVd
HrFQRzE
VLDVIJCjBjX
jaeNP
SaosF
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

GVNTRE
SfEhqvyO
vuDddu
JFlsvdAOOO
RuUhoolrc
YzdHX
ozdsEeOI
ZIKuhbILG
zajqm
saQnj
CiVAjrF
iLSkocvFLiJn
nFWuyNldPPwu
UMVlOTq
zvQWUD
mESbO
MWImRGkucX
swNCmsXQgBR
wGkqIv
zhsdtSfH
nyJt
xAnqCAISn
qcMGciXDw
cnGTVEgU
vGiorRRVk
otQFLG
uspjO
QqoTi
omii
zzLcfKfKVTd
ZqRxSWacB
mKZLmPPxMCyt
lnnnwl
UoqwTeBs
Iibnqqcm
HGHNRKH
wfkvrHTFEI
bVUtlieXNV
oJVLICdr
YXndYFJohvKh
uFYCdKm
oZxRJGeQfs
OzGRQqjTDG
DYcMfySDTVI
cTAMA
aTqSDTrENfF
cObFx
pRptU
daJdUNT
ujnl
MRUY
EmFcFxbjWpB
MjMo
SsXHVzQKAdtt
jVnfOfF
RGHNVlw
zCVhEg
hsBuvvT
EusOkgxUw
emCHSqoucQ
iemfm
XMQFJhYh
搜索
查看: 1182|回复: 3

[iAsks] 文件名编码问题 ntfs 下的特殊字符名文件在 finder 及终端里消失不显示 [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
4613853
帖子
118
PB币
258
贡献
0
技术
0
活跃
1233
楼主
发表于 2021-3-15 19:19:50 IP属地上海 |只看该作者 |倒序浏览
快御云安全
本帖最后由 jiaoyidongxi 于 2021-3-15 20:59 编辑

感觉这是个很严重的基本问题,但我发现好像从来没人碰到过就我中奖了一样……因为无论 google 搜了一圈确实有零星涉及到文件名编码问题,但都跟我没直接关联或也没正确答案……

是这样的,尽可能 tl;dr。因为 macos 原生自带 ntfs 只读,我的 ntfs 盘里有大量的音乐文件,最近在找本地音乐播放器,发现 deadbeef 跟 fb2k 十分相像,就用 deadbeef 加载 ntfs 下的音乐文件夹路径,结果在加载扫描的过程中突然爆一堆音乐文件读取错误的 log,我就随着路径在 finder 下查看,发现读取错误的文件压根就没在 finder 下显示,打开隐藏文件显示也没有。在终端里 ls -al 也不显示。比如一张专辑 10 首歌,只显示 1,2,3,5,7…… 起初我吓一跳,难道神奇的全都丢失文件了?赶紧回 windows 下查看,发现全在。

最后不断试错排比终于找到原因,那些不显示的文件名全都有字母头上多了个音节符号之类,如顶了个小句号,一些假名头上顶了个小句号就不会显示(带假名的文件本身会显示,甚至和汉字混搭都能正常显示,但个别假名头上顶了音节符号导致整个文件就神奇蒸发)。原来是碰到了文件名编码问题。神奇的是,在 windows 下并不存在文件名编码问题,虽然文件名有个 m 头上顶个小句号,但在搜索过程中, windows 会视为等同 m 字母。而 macos 下就直接把整个文件给我彻底消失不显示了…… 我在 windows 里重新改名 回到 macos 的 finder 下就正常显示出来了……

现在的问题就是那么多海量的音乐文件,都不知道该怎么找起然后一一改名,所以问题还是要从源头解决,怎么让 macos 重新正常读取到这些特殊文件名编码的文件?我系统语言编码第一位英语,第二位中文。


Rank: 2Rank: 2

UID
4613853
帖子
118
PB币
258
贡献
0
技术
0
活跃
1233
沙发
发表于 2021-3-15 21:55:13 IP属地未知 |只看该作者
如图,


03 的 .mp3 的 m 头上有个小句号,但 windows 上把这顶着小句号的 m 依然视为英文字母 m,是可以正常搜到的,所以以前根本就不会注意到。
05 的 n 又顶着个小句号……

而这两个文件在 macos 下的 finder 和终端里就彻底消失不予显示。

真的醉了,我怀疑最初打包这专辑的人一定是个或是在日耳曼系或斯拉夫系的系统语言编码里打包的……


Rank: 2Rank: 2

UID
4613853
帖子
118
PB币
258
贡献
0
技术
0
活跃
1233
板凳
发表于 2021-3-16 20:48:07 IP属地上海 |只看该作者
本帖最后由 jiaoyidongxi 于 2021-3-16 22:11 编辑

这真的是系统非常严重的基础问题,就好像迄今就没人碰到过,正好被我第一次碰到一样……

首先我自己就是多年的 linux 老用户,对 unix 系统那套非常熟悉关于系统语言编码这类,我在 macos 下看自己的 locale 确实全都是 utf-8……


我又反复测试了一圈,把文件移回到 apfs 也一样…… finder 和终端不但对带有特殊字符名的文件消失不显示,而且是连当前文件夹显示大小也跟着消失,也就是 finder 和终端下就等于这些文件从没存在过,被删了一样。但奇葩的是为什么 deadbeef 音乐播放器能加载到它们然后报错……?


我还试过在 win 下把这些特殊字符的文件原封不动重新打包成 zip,到 macos 里用 betterzip 打开,文件都能显示,也能正常解压,只是显示和解压出来的文件名被自动还原为正常英文字母了。

我现在只能用最笨的办法,用 deadbeef 把我所有音乐文件加载一遍,把报错的带有特殊字符的音乐文件全都一一在 win 下用 mp3tag 改成正常英文字母了…… 但这还是治标不治本。我打算到 linux 下再看看是不是也这样。

Rank: 2Rank: 2

UID
4613853
帖子
118
PB币
258
贡献
0
技术
0
活跃
1233
4F
发表于 2021-3-16 23:22:15 IP属地未知 |只看该作者
果然,能显示的都是没有音节的字符,加载不出来的全都顶着音节,最不解的就是假名不就一套系统吗,苹果竟然也会视为两套系统,顶浊音的就不显示……

deadbeef 报错 log 里无法显示的文件,全都是顶着音节符号的,


windows 下该专辑所有文件,
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛