从 Unicode 转换失败。如何找到有问题的字符?

从 Unicode 转换失败。如何找到有问题的字符?

我有一个 UTF-8 文本文件,其中某处包含 CP1250* 中不存在的 Unicode 字符。我想将文件保存为 CP1250,但 Gedit 和 Leafpad 都无法这样做。我不知道哪个字符实际上导致了问题:无法使用Ctrl+F来查找“此文件中存在但不存在于 cp1250 中的字符”。文档很长。我如何找到有问题的字符?我知道我总是可以删除一半文本并继续处理仍然无法保存的那一半,但这似乎有点麻烦。有没有更好的方法?


* 例如,该文件可能包含 ɸ (U+0278),这是 CP1250 中不存在的字符。

答案1

例如,从此处剪切并粘贴字符“ɸ”到编辑器的搜索框中并搜索它。然后您可以从文档中删除它。

但是,直接删除一个字符通常是不推荐的。通常最好用 U+001A SUBSTITUTE 替换它,表示字符级数据错误,或者(根据上下文和应用程序)用问号“?”或一些转义符号(如“ɸ”的“U+0278”)替换它,这样就可以向软件或阅读该文件的人发出问题信号。如果“ɸ”在原文中使用得当,它就是一个语音(IPA)字符,用于描述单词的发音。因此,直接省略它会扭曲信息。

相关内容