为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

我有一个网站,可以在Firefox中使用jQuery发送土耳其语字符,但是Internet Explorer不发送土耳其语字符。我在记事本中查看了我的源文件,该文件的代码页是ANSI。当我将其转换为不带BOM的UTF-8并关闭文件时,重新打开文件时,文件再次为ANSI。如何将文件从ANSI转换为UTF-8?
查看完整描述

3 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

也许这不是您需要的答案,但是我遇到了类似的问题,因此我决定将其放在此处。


我需要通过记事本++将500个xml文件转换为UTF8。为什么使用记事本++?当我使用“在UTF8中编码”选项(许多其他转换器使用相同的逻辑)时,它弄乱了所有特殊字符,因此我不得不明确地使用“转换为UTF8”。


这里有一些简单的步骤,可以通过Notepad ++转换多个文件,而不会弄乱特殊字符(例如变音符)。


运行Notepad ++,然后打开菜单Plugins-> Plugin Manager-> Show Plugin Manager

安装Python脚本。安装插件后,重新启动应用程序。

选择菜单插件-> Python脚本->新建脚本。

选择其名称,然后输入以下代码:

convertToUTF8.py


import os

import sys

from Npp import notepad # import it first!


filePathSrc="C:\\Users\\" # Path to the folder with files to convert

for 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()

毕竟,运行脚本


查看完整回答
反对 回复 2019-10-17
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

如果您的文件中没有非ASCII字符(代码点128及以上),则无BOM的UTF-8与ASCII相同,一个字节一个字节-因此Notepad ++会猜错。


您需要做的是在提供AJAX响应时指定字符编码-例如,使用PHP,您可以这样做:


header('Content-Type: application/json; charset=utf-8');

重要的部分是在每个 JS响应中指定字符集-否则IE会退回到用户的系统默认编码,这在大多数情况下是错误的。


查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 2535 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信