我最初遇到了这个问题:如何解压日文 ZIP 文件并避免出现乱码
但是“unzip -O shift-jis [filename.zip]”完成了工作,并且我在文件名中得到了漂亮的日文字符,但这似乎对文件元数据不起作用?
我找到了这个:为什么我的 VLC 窗口显示奇怪的字体?,但它的解决方案似乎只针对字幕,而我的问题似乎与 VLC 无关,因为音频文件的音频属性显示其标题在我的屏幕上显示为乱码块,但当复制粘贴到这里时,它们会变成不占用空间的字符:“Ôç©d¸UE - C[h”
另外,我的《Neptunia Re;Birth1》音乐与其他人的报告:第 1 和第 18 首曲目是日语,其余曲目似乎是 Mojibake。
我想,如果我只是想弄清楚名字,我会这样做:如何将 mojibake 文本转换为可读的形式?
答案1
第一步:确定元数据是用什么编码写入的?
安装 Exif 阅读器
sudo apt install libimage-exiftool-perl
显示您想要在 VLC 上播放的 exif 信息。
exiftool filename
示例输出:
ExifTool Version Number : 12.49
File Name : 10 - グラスホッパー.flac
--cut--
File Type : FLAC
File Type Extension : flac
MIME Type : audio/flac
--cut--
Track Number : 10
Discnumber : 1
Title : グラスホッパー
Artist : スピッツ
Album : ハチミツ
Genre : Unknown
Date : 1995-09-20
--cut--
Artistsort : Spitz
Discid : 9c0a320b
Musicbrainz Discid : KcCfHpYnqpWm4siIth0whkxTBEU-
Tracktotal : 11
Duration : 0:03:31
如果您可以在终端中正常读取 exif 元数据,则元数据是以 Unicode 编写的。(检查echo $LANG
)并且还要检查 VLC 字体设置。
否则,它将以另一种字符编码书写。在日语中,它可能以 Shift-JIS 或 EUC 书写。
现在保存 exiftool 的文本
exiftool filename > textfile.txt
将 Shift-JIS(或 EUC-JP 'eucjp')编码为 Unicode UTF-8
iconv -f sjis -t utf8 textfile.txt
cat textfile.txt
如果您看到此文件中没有豆腐字符,那么您可以使用它们编辑原始 exif。
例如:
exiftool -Title="グラスホッパー" -Artist="スピッツ" -Album="ハチミツ"
让我们在 VLC 上播放这首歌/视频,看看有什么变化。