2009-08-11 13:11:38 +0000 2009-08-11 13:11:38 +0000
26
26

如何在 Notepad++ 中编辑 Unicode 文本?

有时我编辑包含Unicode字符的英文文本。由于某些原因,在我的电脑上,Notepad++会将Unicode字符转换为???,从而破坏文本并丢失所有数据。我正在寻找一种方法来编辑这样的文本,同时保留Unicode字符。我使用 Consolas 作为我的字体。如果字体中没有这些字符,为什么当我从Notepad++中复制文本时(通过Windows的剪贴板)会丢失数据?

答案 (5)

15
15
15
2011-09-17 11:54:32 +0000

当一个空的/新的文档被设置为 “ANSI",并且Unicode字符被粘贴到其中时,问题中描述的问题就会发生。

在空/新文档中使用时,没有任何自动检测功能,至少在我测试的Notepad++版本(v5.4.5)中没有。"ANSI "是Notepad++中新文档的默认值,除非在菜单设置首选项新文档/打开保存目录选项卡中设置。

解决方法

解决方法是在粘贴前将编码设置为 UTF-8 ,菜单FormatEncode in UTF-8

例子

我从Firefox复制了一些文本到一个新的Notepad++文档中,Russian (русский язык, russkiy yazyk),显示维基百科页面 俄语 _。

如果编码没有从 "ANSI "中改变,结果是:

如果编码被改变,结果是:

如下图所示(【西里尔语】(http://en.wiktionary.org/wiki/Cyrillic#Adjective)部分被高亮显示),Notepad++实际上将Unicode字符转换为ASCII 63(十六进制3F),即问号。这就是为什么当通过剪贴板复制文本时,Unicode字符会丢失(在"ANSI”模式下)(这不是字体问题–信息丢失)。

在以下设备上测试过。Notepad++ v5.4.5 (UNICODE).

15
15
15
2009-08-11 13:30:37 +0000

如果文件是用Unicode编码的,Notepad++应该会自动检测到它。Consolas字体对我来说很好用。你可以试试这两个菜单选项中的一个。

  • Encoding -/> Encoding in UTF-8
  • Encoding -> Convert to UTF-8

我很确定第一个选项可以满足你的要求。

5
5
5
2009-08-11 13:30:46 +0000

有好消息和坏消息。

好消息: Notepad++支持Unicode(至少据我所知)。

坏消息:显然Unicode支持只在Windows XP上。

其实我面前并没有一台Windows机器。根据我的记忆,在格式菜单下的某个地方有一个编码菜单。Unicode的编码其实最常见的是UTF-8。

这是一张 “漂亮 "的记事本++中支持Unicode的图片,

1
1
1
2015-04-14 13:13:05 +0000

这对我来说是有效的。

我在我的电脑(Windows 7,英语/美国字符集和罗马尼亚语非Unicode集)的风格配置器中把字体改为Courier New。它与Courier New和Tahoma字体+UTF-8编码一起工作。

0
0
0
2018-09-19 10:12:31 +0000

在顶部菜单中选择Encoding然后选择Encode in UTF-8Encode in UTF-8 Without BOM就可以编辑Unicode编码的文本。