3

以下を実行する SSIS パッケージがあります。

  1. SQL スクリプトを実行する
  2. 結果をフラット ファイルにエクスポートします (UTF-8 エンコード、; 区切り、改行は \n)。
  3. Solaris マシンへの FTP 結果 (バイナリ形式)

問題は、solaris ボックスにファイルが表示されると、ファイルの先頭に次のように表示されることです。

\377\376

dos2unix を試しましたが、まだ問題は解決していません。実際、\377\376 が \227\226 に変更されますが、あまり役に立ちません。

私の質問ですが、ファイルからこれらの文字を削除する方法はありますか? 彼らがそこにいるとき、彼らはgrepやheadのような他のUNIXツールを台無しにします。

4

3 に答える 3

3

デフォルトでは、SSIS または Windows でエンコードされたファイルは UCS-2-LITTLE-ENDIAN でエンコードされています。最も簡単な方法は、次のコマンドを使用して UNIX サーバー上のファイルをエンコードすることです。

  1. iconv を使用して UTF-8 (または必要なエンコーディング) に切り替えます。

    iconv -f UCS-2-LITTLE-EDIAN -t UTF-8 入力 > 出力

  2. ms が liens の末尾に追加するキャリッジ リターンを削除します。

    unix2dos -ascii utf-8-file 出力ファイル

于 2012-09-20T13:28:30.867 に答える
0

Dos2unix バージョン 6.0 以降では、Windows Unicode UTF-16 ファイルを Unix UTF-8 に変換できます。また、バイト オーダー マーク (BOM) も削除されます。ここで最新の dos2unix を入手してください

利用可能な Windows バージョンがあります。

于 2012-12-23T09:15:10.447 に答える