Rob*_*cks 29 text-editing notepad++ unicode
有时我会编辑包含 Unicode 字符的英文文本。出于某种原因,在我的 PC 上,Notepad++ 将Unicode 字符转换为 ???,从而破坏文本并丢失所有数据。我正在寻找一种方法来编辑此类文本,同时保留 Unicode 字符。我使用Consolas作为我的字体。如果字体没有所有这些字符,当我从 Notepad++(通过 Windows 的剪贴板)复制文本时为什么会丢失数据?
Pet*_*sen 20
问题中描述的问题发生在将空/新文档设置为“ANSI”并将Unicode字符粘贴到其中时。
与空/新文档一起使用时没有任何自动检测,至少在我测试过的 Notepad++ 版本 (v5.4.5) 中没有。“ANSI”是 Notepad++ 中新文档的默认值,除非在菜单Settings → Preferences → tab New Document/Open Save Directory 中设置。
解决方案
解决方法是在粘贴前将编码设置为UTF-8,菜单Format → Encode in UTF-8:

例子
我从 Firefox 中复制了一些文本到一个新的 Notepad++ 文档,俄语 (??????? ????, russkiy yazyk),显示维基百科页面俄语。
如果编码未从“ANSI”更改,则结果为:

如果编码被改变了这种结果如下:

如下图所示(西里尔字母部分突出显示),Notepad++实际上将Unicode字符转换为ASCII 63(十六进制3F),问号。这就是为什么在通过剪贴板复制文本时Unicode 字符会丢失(在“ANSI”模式下)的原因(这不是字体问题 - 信息丢失)。

测试:Notepad++ v5.4.5 (UNICODE)。
有好消息和坏消息。
好消息: Notepad++ 支持 Unicode(至少从我可以收集到的信息来看)。
坏消息:显然 Unicode 支持仅适用于 Windows XP。
实际上,我面前没有 Windows 机器。据我所知,在某处的格式菜单下有一个编码菜单。Unicode 的编码实际上是最常见的 UTF-8。
这是 Notepad++ 中 Unicode 支持的“漂亮”图片,

| 归档时间: |
|
| 查看次数: |
162085 次 |
| 最近记录: |