我使用 Debian,有时需要挂载 Windows 磁盘,因为我想从 Windows 读取一些 *.txt 文件。有时没问题,但有时在我使用 Debian 系统编辑或读取文件,然后重新启动到 Windows 并尝试打开文件而不是
This is text in my txt file.
我懂了
This is td�T$(�b.U�D$$�X��B�D$,�@��Z�Eȃ��D$�D$DZ��
我使用鼠标垫作为我的 Debian 编辑器和 Windows 的默认记事本。有什么办法可以恢复文字吗?如何解决这个问题以便下次不再发生这种情况?
答案1
使用 Linux 中的 file-命令测试崩溃文件,并将其与非崩溃文件进行比较。
最有可能的是,文件编码不匹配,并且可能涉及一些不需要的自动检测。
20 年来,Linux 在大多数系统上都提供了 UTF-8,您不应该改变这一点。 Windows 加入得比较晚,但最近的安装也应该默认使用 utf-8。
某些编辑器可能带有旧的默认设置,例如 CP850 或 ISO-LATIN-x,其中 x 是数字或其他内容。
为了避免歧义,有人采取了一些措施,将 BOM 放在文件的开头,这使问题变得更糟,因为,例如,Linux 中的 shell 脚本在#!/bin/bash
开头使用 Shebang(如 )并且不接受根本没有 BOM。
如果可能的话,将所有工具设置为 UTF-8 并尽可能转换旧文件(Linux 程序: iconv)。
和
file clean-and-easy.txt
file crashing.txt
您应该首先查看 file 命令是否报告某些内容,例如ascii-text with BOM
或UTF-8 Unicode text
。