我正在使用 Notepad++ 编辑我的 PHP 脚本。
然而,我发现一个奇怪的问题:当将编码从 更改为ANSI
,UTF-8 (without BOM)
保存、关闭、重新加载 – 然后检查编码:仍然是ANSI
。
有什么想法吗?过去它对我来说总是有效的。
答案1
可能会发生这样的情况:文件以某种编码保存,但在 Notepad++ 中重新打开时检测到使用另一种编码。这是技术限制,因为有时即使使用不同的编码,生成的文件也不会有差异。如果文件保存时没有特殊的 BOM(字节顺序标记)来指示所用的编码,这种情况最为明显。
ANSI 和 UTF-8 共享前 128 个字符 (ASCII),如果您只使用这 128 个字符,则很难区分它们。纯文本文件没有指示编码的元数据,因此 Notepad++(和其他编辑器)所能做的就是查看文件中的字符/数据并进行猜测。
- 如果文件有 BOM,NP++ 会检测到它并了解编码。
- 如果文件是 HTML 或 XML,则从文件的第一行读取编码。
- 否则,NP++ 会在 UCS-2LE、UCS2-BE 和 ANSI 之间进行猜测。您无法区分使用 UTF-8 编码且无 BOM 的文件和使用 ANSI 编码且包含大量高 ASCII 字符的文件。
http://sourceforge.net/projects/notepad-plus/forums/forum/331754/topic/3822723
理论上,PRacicot 的回答应以 UTF-8 格式打开所有 ANSI/UTF-8 文件(无 BOM)。在对类似 Stack Overflow 问题的回答。如果这对您不起作用,我不确定该怎么办。ANSI as UTF-8
对我来说,编码显示在状态栏中。
答案2
您可能想要在 notepad++ 偏好设置中更改此设置。
进入菜单设置 -> 首选项 -> 新建文档/默认目录。在 suck 部分编码中,选中 UTF-8 without BOM 并选中应用于打开的 ANSI 文件。
通过选中“应用于打开的 ANSI 文件”,此首选项也将应用于 notepad++ 中当前打开的文档。
由于我还没有足够的积分来发布图片,因此这里是我上传图片的帖子链接:http://postimage.org/image/4qza0bkv9/
祝你好运,编程愉快。
答案3
您必须Convert to ...
更改Encode to ...
选项。
您可能还想在设置中更改此选项,这样所有新文件都将使用您选择的编码创建。