早上全部 -
我遇到了问题,解决方案现在已经提到了我几天。
我有一个执行以下操作的SSIS包。 1.运行SQL脚本 2.将结果导出为平面文件(UTF-8编码,;分隔,和\ n表示新行) 3. FTP结果到solaris机器(二进制格式)
问题是,当文件显示在我的solaris盒子上时,它在文件的开头有以下内容。
\ 377 \ 376
我尝试过dos2unix但仍未纠正此问题。事实上它将\ 377 \ 376改为\ 227 \ 226,不是很有用。
我的问题,是否可以从我的文件中删除这些字符?当他们在那里他们混乱grep和其他unix工具,如头。
感谢任何帮助。
由于
答案 0 :(得分:3)
这是一个很容易解决的问题,几天来一直困扰着我。以为我会回答我自己的问题,任何人都在寻找答案。
默认情况下,任何SSIS或Windows编码文件都是UCS-2-LITTLE-ENDIAN编码。最简单的方法是使用以下命令对unix服务器上的文件进行编码。
使用iconv
切换到UTF-8(或您需要的任何编码)iconv -f UCS-2-LITTLE-EDIAN -t UTF-8输入>输出
删除ms添加到留言末尾的回车。
unix2dos -ascii utf-8-file outputfile
这将解决您的问题。
答案 1 :(得分:0)
Dos2unix 6.0及更高版本可以将Windows Unicode UTF-16文件转换为Unix UTF-8。它还将删除字节顺序标记(BOM)。获取latest dos2unix here
有一个Windows版本。
答案 2 :(得分:0)