如何在将驱动器交叉安装到 Windows7 和 Linux 时保留变音符号

如何在将驱动器交叉安装到 Windows7 和 Linux 时保留变音符号

一位朋友使用 KNOPIX 将无法访问的 Windows 7 分区备份到一个大型(接近 1TB)外部 USB 驱动器上。不幸的是,当他从 Windows 访问该驱动器时,他大量音乐收藏的文件名中的变音符号和重音符号现在显示为乱码(我猜是 UTF8 vs ISO xxx)。

我猜他需要以“特殊方式”安装这两个驱动器,这样才能在 KNOPIX 上考虑到变音符号的翻译?或者您有其他想法,知道哪里出了问题?

这是我遇到的 Windows/Linux 问题的第二部分。请参阅如何在 Windows 7 中挂载分区另一部分

答案1

确保您的系统(Knoppix)正在使用基于 Unicode 的区域设置 (UTF-8):

$ 区域设置
LANG=en_US.utf-8
语言=
LC_CTYPE="en_US.utf-8"
[跳过不相关的设置]
LC_ALL=

如果LANGLC_CTYPE变量不是以.utf-8(或.utf8)结尾,请修复它们:

  1. 运行locale -a并确保它列出了所需的语言环境(即en_US.utf-8);

  2. 如果未列出语言环境,请取消注释/etc/locale.gen

    en_US.UTF-8 UTF-8
    

    locale-gen以 root 身份运行;

  3. 跑步export LANG="en_US.utf-8"

  4. 运行(xterm &)(gnome-terminal &)启动一个应用新设置的新终端;

  5. 关闭旧终端。(这是不是足以改变当前 shell 的 $LANG。)

在新的终端中,验证输出locale并检查它是否解决了您的问题。

还要确保您的文件系统驱动程序使用 UTF-8。NTFS 文件系统仅使用 Unicode,但如果您在使用错误的语言环境时挂载它,驱动程序可能处于转换模式。卸载文件系统,然后使用正确的 $LANG 重新挂载它。如果这也没有帮助,请尝试添加utf8iocharset=utf8选择mount...

# mount -t ntfs -o utf8,iocharset=utf8 /dev/foo /mnt

...或者切换到ntfs-3g司机:

# mount -t ntfs-3g /dev/foo /mnt

相关内容