我在 Mac 中创建了一些 UTF-8 文件,当尝试在 Windows 中使用 TextPad 打开它们时,我收到以下警告:
警告:(文件名)包含代码页 1252(ANSI 拉丁文 1)中不存在的字符。如果单击“确定”,它们将被转换为系统默认字符。
Linux (GNOME gEdit) 可以毫无怨言地打开同一个文件。以上是什么意思?我认为 TextPad 具有完整的 UTF-8 支持。我可以使用它安全地打开和编辑 UTF-8 文件而不损坏文件吗?
似乎 TextPad 无法处理 windows-1252 之外的字符(CP1252,此处带有误称“ANSI Latin 1”)。我在 Windows 上对其进行了测试,打开了在同一系统上创建的纯文本文件,使用 UTF-8 编码,有和没有 BOM,结果相同。该程序的帮助似乎不包含与字符编码相关的任何内容,其编写“国际字符”的工具仅适用于 Latin-1 字符。
有几种适用于 Windows 的文本编辑器可以处理 UTF-8(即使记事本也可以打开 UTF-8 文件,但不建议认真编辑)。请参阅 Alan Wood 收集的有关Unicode 编辑器和 Windows 文字处理器的信息。(就我个人而言,我喜欢 Notepad++ 和 BabelPad,它们都是免费的。)
TextPad 8 是 2016 年 1 月 28 日的最新版本,终于可以正确支持 BMP Unicode。这是一个付费升级,但到目前为止对我来说一直完美无缺。
TextPad “支持” UTF-8 和 UTF-16 文档,仅在它将导入和导出它们的情况下。但它仍然将文件编辑为简单字节,而不是 Unicode 字符(使用 ANSI 代码页,即西欧的代码页 1252)。
因此,除非文件碰巧只包含该代码页中也存在的字符,否则您将丢失内容。这完全违背了 Unicode 的意义。
确实,这就是让我逃离的问题——当时是 EmEditor,尽管现在我同意之前的评论并推荐 Notepad++。为文本编辑器付费的时代早已一去不复返了。
实际上,TextPad 确实支持显示 Unicode 代码点,因为它们以错误的方式进行操作。为了显示 Unicode 字符,您必须选择 Configure->Preferences 并展开“Document Classes->Text->Font.
您需要选择 Unicode 字体并设置要匹配的脚本。例如带有脚本 CHINESE_BIG5 的 Arial Unicode MS。
然而,这是一种落后的方法,因为当用户告诉 TextPad 以 Unicode 或 UTF-8 打开文件时,应用程序应该处理这个问题。MS Windows 的内置记事本应用程序将自动检测编码并根据编码正确显示字形。
我在 Textpad 论坛中找到了关于此的讨论: http ://forums.textpad.com/viewtopic.php?t=11019
虽然我有 Notepad++,但 Textpad 可以轻松处理大文件,而我尝试过的其他编辑器(包括 Notepad++)要么缓慢爬行,要么死机。我目前正在尝试编辑一个 475MB 的文件,而 Notepad++ 无法胜任这项任务。
文本板配置菜单 --> 首选项 --> 文档类 --> 默认 --> 默认编码 --> UTF-8
尝试使用 File/Open 设置 ANSI 代码,这应该可以解决 TextPad 中的问题