从OEM 866 charset(西里尔文)转换为UTF?

时间:2013-08-04 20:51:46

标签: character-encoding

我有一个从俄罗斯数据库导出的大型csv文本文件。字符集是OEM 866,对于我将用于处理文件的大多数应用程序都是不可读的。有没有办法将其转换为UTF-8或ANSI?

我的尝试解决方案:

1)在Notepad ++中将字符集标识为Cyrillic OEM 866。该文件现在可以在Notepad ++中读取。 2)在Notepad ++中,尝试转换为UTF-8,UTF8无BOM,ANSI。当然,Notepad ++会读取它刚刚创建的转换后的“ANSI”或“UTF”文件。但没有其他计划。

道歉,如果这是一个愚蠢的问题 - 因为我真的不太了解这个主题。

2 个答案:

答案 0 :(得分:1)

如果Notepad ++可以读取UTF-8编码的文件,特别是它创建的文件,那么支持UTF-8编码文件的其他应用程序也应该能够读取同一个文件。并非所有应用程序都支持文本文件中的UTF-8 BOM,但如果您在使用和不存在BOM时仍遇到问题,那么您应该在怀疑UTF-8文件出现问题之前查看这些应用程序的问题。这些应用程序很可能不会将文本文件作为UTF-8加载,如果发生这种情况,那么它们将错误地解释文件内容。假设使用操作系统默认的Ansi编码而不是UTF-8或其他编码,许多应用程序倾向于加载8位文本文件,因此您可能需要告诉这些应用程序将文本文件加载为UTF-8,如果有这样的选项可用(如果没有这样的选项,BOM就会发挥作用)。

答案 1 :(得分:-1)

如果你使用Unix,tchrist的iconv听起来是最好的选择,但由于你使用的是Notepad ++,我认为你在Windows上。

您可能不需要手动解决方法,但由于没有其他人发布过更好的解决方法,这里有一个对我有用的淤泥。

在Notepad ++中打开文件。确保编码设置正确(点击“编码 - >字符集 - >西里尔文 - > OEM 866)我知道你自己有这么远,但它是为了别人的利益。

全选,复制。打开常规旧记事本。糊。

点击“文件 - >另存为”,在保存之前,请确保“保存”按钮旁边的“编码”选项显示为UTF-8。 (ANSI是默认值,但它没有西里尔字符)

我不知道为什么在Notepad ++中保存不起作用,但我有同样的经历。