Encoding 记事本++;显示ucs-2LE而ubuntu文件[FILE]显示UTF-16LE,我很困惑?

Encoding 记事本++;显示ucs-2LE而ubuntu文件[FILE]显示UTF-16LE,我很困惑?,encoding,utf-8,notepad++,ucs2,utf-16le,Encoding,Utf 8,Notepad++,Ucs2,Utf 16le,我正在尝试将从mssql生成的文件转换为utf-8。当我在windows server 2003中使用notepad++打开mssql的输出时,会将文件识别为UCS-2LE我使用file[file]将文件复制到Ubuntu机器上,这表明编码是UTF-16LE。 真的很困惑,因为名称不同,所以编码肯定有一些不同。 但是为什么我在同一个文件中看到这个呢。它是从mssql查询生成的.csv文件 在大多数情况下,UTF-16和UCS-2是相同的。没有区别 它的意思是每个字符有两个字节宽。“LE”代表小端

我正在尝试将从
mssql
生成的文件转换为utf-8。当我在windows server 2003中使用notepad++打开
mssql
的输出时,会将文件识别为
UCS-2LE
我使用
file[file]
将文件复制到Ubuntu机器上,这表明编码是
UTF-16LE
。 真的很困惑,因为名称不同,所以编码肯定有一些不同。
但是为什么我在同一个文件中看到这个呢。它是从mssql查询生成的
.csv
文件

在大多数情况下,UTF-16和UCS-2是相同的。没有区别

它的意思是每个字符有两个字节宽。“LE”代表小端,即每个双字节字符先存储低字节

如果要转换为UTF-8,请在记事本++中单击编码菜单中的
转换为UTF-8
,然后保存


如果您的其他程序在执行此操作后阻塞了文件,或者您在文件开头看到两个垃圾字符,请单击“转换为不带BOM的UTF-8”。

据我所知,UTF-16字符也有2个字节宽。为什么Ubuntu中的
file[file]
向我展示Utf-16LE?当我看到编码列表
iconv-l
识别时,我可以看到两种可用的编码。现在我想知道,当我从这个编码转换到
utf-8
编码时,我应该使用什么编码作为输入文件编码?谢谢你的回答和编辑,但我正在尝试在Ubuntu机器中转换,如果你仔细阅读我的解释,你会发现我需要在两种编码中选择一种,将其放入命令的输入编码中
iconv-f[input encoding]-t[output encoding][file]
。在这种情况下,你会给我什么建议?我使用记事本++将文件转换为不带BOM的UTF-8,但后来当我打开文件时,它再次显示编码为ANSI,而不是不带BOM编码的UTF-8。这仍然在记事本++中,还是在Ubuntu机器上?我对Ubuntu一无所知,但是当选择了不带BOM的UTF-8时,记事本++状态栏应该将编码报告为
ANSI为UTF-8
。而且,正如我所说,UTF-16和UCS-2几乎是一样的。两个都试一下,看看哪一个有效。老问题,但我认为benw的答案是正确的,应该标记为这一点——或者还有什么“开放”给你?