Character encoding \377\376附加到文件(Windows->;Unix)
早上好- 我有一个问题,解决方案已经暗示了我几天了 我有一个执行以下操作的SSIS包。 1.运行SQL脚本 2.将结果导出到平面文件(UTF-8编码、定界和\n新行) 3.将结果FTP到solaris计算机(二进制格式) 问题是,当文件显示在我的solaris设备上时,文件的开头有以下内容 \377\376 我已经尝试过dos2unix,但仍然没有纠正这个问题。事实上,它将\377\376更改为\227\226,这没有多大帮助 我的问题是,有没有办法从我的文件中删除这些字符?当他们在那里时,他们会弄乱grep和其他unix工具,比如head 感谢您的帮助Character encoding \377\376附加到文件(Windows->;Unix),character-encoding,ssis,solaris,dos2unix,Character Encoding,Ssis,Solaris,Dos2unix,早上好- 我有一个问题,解决方案已经暗示了我几天了 我有一个执行以下操作的SSIS包。 1.运行SQL脚本 2.将结果导出到平面文件(UTF-8编码、定界和\n新行) 3.将结果FTP到solaris计算机(二进制格式) 问题是,当文件显示在我的solaris设备上时,文件的开头有以下内容 \377\376 我已经尝试过dos2unix,但仍然没有纠正这个问题。事实上,它将\377\376更改为\227\226,这没有多大帮助 我的问题是,有没有办法从我的文件中删除这些字符?当他们在那里时,他们
谢谢这是一个简单的解决办法,我好几天都没想到。我想我会回答我自己的问题,以防有人在寻找答案 默认情况下,任何SSI或windows编码的文件都是UCS-2-LITTLE-ENDIAN编码的。最简单的方法是使用以下命令在unix服务器上对文件进行编码
这将解决您的问题。Dos2unix 6.0版及更高版本可以将Windows Unicode UTF-16文件转换为Unix UTF-8。它还将删除字节顺序标记(BOM)。得到
有一个Windows版本可用。正如预览答案所述,使用make the job,在我的情况下,我使用:
dos2unix.exe -r -v -f -D utf8 <FileName>
dos2unix.exe-r-v-f-D utf8
其中:
-r、 --删除bom删除字节顺序标记(默认)
-v、 --详细操作
-f、 --二进制文件的强制转换
-D、 --显示enc设置显示文本消息的编码编码ansi、unicode、utf8,默认为ansi
字符被删除了这是一个utf-16-le BOM(),请查看导出选项,看看是否可以省略BOM或在solaris上使用BOM感知查看器?这是一个Unicode字节顺序标记。看起来你的输出毕竟不是UTF-8。谢谢,我现在知道从哪里开始寻找了。我将看看将输出编码更改为US-ASCII是否有帮助(我知道输入中没有特殊字符)。