linux + IBMのDB2を使っています。

問題はDB2ではなく、シェルのような気がしたので質問させて頂きます。
(このあたりが分かっていない)

DBに入っているデータが Unicode なので、コマンドラインから
 db2 "select * from staff"
などとすると文字化けします。
そこで
 function xx2 { ~/sqllib/bin/db2 "$*" | /usr/local/bin/nkf204 -e ; }
として使うとうまく行きました。
しかし、この出力をパイプに渡して使うと
 SQL1024N  データベース接続が存在しません。  SQLSTATE=08003
と出てしまうのです。
function を使わずに db2 "..." | nkf | more などとすると出来るのです。

これを解決するにはどうしたら良いでしょうか?
----
hanajipon @ mail.goo . ne. jp