文字コード問題でファイルがsedでズッコけた
SQLloderでファイルを取り込むしシステムを作成。
タブ区切りなのを、sedでカンマ区切りに変換し、oracleに入れるロジックで普通に動いて居たのですが、
呼ぶ場所を作った管理画面から叩くようにしたらsedの部分でなんかこんなエラーが。
sed: -e expression #1, char 14: unterminated `s' command
sedコマンドでエラーはあまり出たことが無いので、一瞬悩みました。
問題の切り分け
・手動実行(サーバー上で自分実行)ではエラーが出ない
・管理画面から叩くようにした場合発生
・ファイルは同じ
・ファイル内には日本語が入っている、文字コードはSJIS、但し読み込む前に文字コード変換している
結論から書きますと、管理画面から実行するときは別アカウントになっていて、
実行する文字コードが異なっていました。
実行時に文字コードをプログラムが動くEUCに強制。
export LANG=ja_JP.EUC-JP
恐らく文字コードの問題で日本語がバケて、ズッコけたのでしょう。
SQLloderでファイルを取り込むしシステムを作成。
タブ区切りなのを、sedでカンマ区切りに変換し、oracleに入れるロジックで普通に動いて居たのですが、
呼ぶ場所を作った管理画面から叩くようにしたらsedの部分でなんかこんなエラーが。
sed: -e expression #1, char 14: unterminated `s' command
sedコマンドでエラーはあまり出たことが無いので、一瞬悩みました。
問題の切り分け
・手動実行(サーバー上で自分実行)ではエラーが出ない
・管理画面から叩くようにした場合発生
・ファイルは同じ
・ファイル内には日本語が入っている、文字コードはSJIS、但し読み込む前に文字コード変換している
結論から書きますと、管理画面から実行するときは別アカウントになっていて、
実行する文字コードが異なっていました。
実行時に文字コードをプログラムが動くEUCに強制。
export LANG=ja_JP.EUC-JP
恐らく文字コードの問題で日本語がバケて、ズッコけたのでしょう。
コメント