如何使用Notepad ++将ANSI编码的文件转换为UTF-8?

我有一个网站,可以在Firefox中使用jQuery发送土耳其语字符,但是Internet Explorer不发送土耳其语字符。我在记事本中查看了我的源文件,该文件的代码页是ANSI。

当我将其转换为不带BOM的UTF-8并关闭文件时,重新打开文件时,文件再次为ANSI。

如何将文件从ANSI转换为UTF-8?


汪汪一只猫
浏览 2633回答 3
3回答

RISEBY

也许这不是您需要的答案,但是我遇到了类似的问题,因此我决定将其放在此处。我需要通过记事本++将500个xml文件转换为UTF8。为什么使用记事本++?当我使用“在UTF8中编码”选项(许多其他转换器使用相同的逻辑)时,它弄乱了所有特殊字符,因此我不得不明确地使用“转换为UTF8”。这里有一些简单的步骤,可以通过Notepad ++转换多个文件,而不会弄乱特殊字符(例如变音符)。运行Notepad ++,然后打开菜单Plugins-> Plugin Manager-> Show Plugin Manager安装Python脚本。安装插件后,重新启动应用程序。选择菜单插件-> Python脚本->新建脚本。选择其名称,然后输入以下代码:convertToUTF8.pyimport osimport sysfrom Npp import notepad # import it first!filePathSrc="C:\\Users\\" # Path to the folder with files to convertfor root, dirs, files in os.walk(filePathSrc):    for fn in files:         if fn[-4:] == '.xml': # Specify type of the files            notepad.open(root + "\\" + fn)                  notepad.runMenuCommand("Encoding", "Convert to UTF-8")            # notepad.save()            # if you try to save/replace the file, an annoying confirmation window would popup.            notepad.saveAs("{}{}".format(fn[:-4], '_utf8.xml'))             notepad.close()毕竟,运行脚本

胡子哥哥

如果您的文件中没有非ASCII字符(代码点128及以上),则无BOM的UTF-8与ASCII相同,一个字节一个字节-因此Notepad ++会猜错。您需要做的是在提供AJAX响应时指定字符编码-例如,使用PHP,您可以这样做:header('Content-Type: application/json; charset=utf-8');重要的部分是在每个 JS响应中指定字符集-否则IE会退回到用户的系统默认编码,这在大多数情况下是错误的。
打开App,查看更多内容
随时随地看视频慕课网APP