自己レスです。
↓みたいにencodeの前にdecodeするとうまくいきました。

$text=decode("shift-jis",$text);
$text=encode("euc-jp",$text);

ただこの場合、decodeの際に元文字コードが分かっていることが
前提になると思うのですが、分からない場合は
元文字コードが何であるかを調べるメソッドってあるのでしょうか?