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


26

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


难道您使用的是不支持Unicode的插件?
Ivo Flipse,2009年

如果这些是框中的问号,则实际上是丢失字形的字体字形,并且您的数据不会丢失。
乔伊,

不,它不在盒子里,而是它的普通“?” 字符。已确认。
罗宾尼克斯(Robinicks)2010年

1
您可能需要更改字体。看到superuser.com/questions/16831/...
RamyenHead

Answers:


15

如果文件实际上是用Unicode编码的,则Notepad ++应该会自动检测到它。在索拉字体很适合我。您可以尝试以下两个菜单选项之一:

  • 编码 -> 以UTF-8编码
  • 编码 -> 转换为UTF-8

我很确定第一个会做您想要的。


我没有“格式”菜单。
2013年

1
对于后人,你所需要的编码菜单,而不是格式化
肯波纹

15

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

与空/新文档一起使用时,没有任何自动检测功能,至少在我在(v5.4.5)上对其进行测试的Notepad ++版本中没有。除非在菜单“设置”“首选项新建文档/打开保存目录选项卡中进行设置,否则在记事本中,“ ANSI”是默认值。

解决方案是在粘贴之前将编码设置为UTF-8,菜单格式在UTF-8中编码

即将执行的菜单命令“ UTF-8中的菜单格式/编码”

我复制了一些文本到一个新的记事本文档++,俄罗斯(русскийязык,购买russkiy yazyk) ,从Firefox显示维基百科页面俄语

如果编码从“ ANSI”更改,则结果为:

将Unicode字符串“ Russian(русскийязык,russkiy yazyk)”粘贴到新的Notepad ++文档中而未更改默认“ ANSI”编码的结果。

如果更改了编码,结果如下:

将编码从默认的“ ANSI”更改为“ UTF-8”后,将Unicode字符串“ Russian(русскийязык,russkiy yazyk””粘贴到新的Notepad ++文档中的结果。

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

所述文档的十六进制视图的屏幕截图

经过以下测试:Notepad ++ v5.4.5(UNICODE)。


5

有好消息也有坏消息。

好消息: Notepad ++支持Unicode(至少从我的了解中可以)。

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

实际上,我面前没有Windows计算机。据我所知,“格式”菜单下的某个地方有一个“编码”菜单。实际上,Unicode的编码通常是UTF-8。

这是Notepad ++中Unicode支持的“漂亮”图片,

在此处输入图片说明


3

Unicode在Windows 7上运行良好。唯一的问题是您必须重新输入已更改的字符。这是发生在我身上。我在写斯堪的纳维亚字母,所以ä-> E4,ö-> F6。替换掉所有这些都是很痛苦的,但这是值得的。

如果从ANSI-> UTF-8对页面进行编码,则将出现一些字符问题。

我建议您首先在UTF-8中创建一个新页面,然后复制/粘贴您的信息。这样就不会有麻烦了。


1

这为我工作:

我在PC上将字体更改为Courier New in style configurator(Windows 7中具有英语/美国字符集,而罗马尼亚语则用于非Unicode集)。它可以使用Courier New&Tahoma字体+ UTF-8编码。


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.