ソース lha-1.14i-ac20030921.tar.gz
LHa for UNIX autoconf版
http://sourceforge.jp/projects/lha/files/
を、Linux Zaurus用にセルフビルドしたものです。
従来から流通している、LHa for UNIX 1.14iでは、ファイル名のコード変換を行わずに書庫に格納/展開します。
そのため、Linux Zaurus上で日本語名のファイルを圧縮すると、書庫にもUTF8のままで格納されますし、PCで作成した書庫(ファイル名はシフトJIS)をLinux Zaurus上で展開すると、ファイル名がShiftJISとして展開されてしまい、表示できないだけでなく様々な不具合が生じます。
LHa for UNIX autoconf版は、書庫に格納されるファイル名はシフトJISに統一されており、コンパイル時オプションによって、ファイルシステム上の文字コードを指定することができます。
つまり、コンパイル時にUTF-8を指定して作成すれば、PCで作成した書庫をZaurus上で展開するときにはUTF-8に変換して展開し、Zaurusで書庫作成するときにはUTF-8のファイル名をシフトJISに変換して格納するという、正常なファイル名の変換が行われます。
そこで、文字コードとしてUTF-8を指定して、Zaurus用にLHa for UNIX autoconf版をビルドしました。PCで作成したLZH書庫をそのまま解凍できるはずです。また、このLHaで作成した書庫ファイルは、日本語ファイル名を含んでいてもPCでそのまま解凍可能なはずです。
なお、実行時にはlibiconvが必要です。
まず、ファイル名の文字コードがUTF-8であるLinux Zaurusに合わせて、
./configure --enable-multibyte-filename=utf8
として作成しています。
また、コンパイル時にはlibiconv1.8のヘッダファイルをインクルードし、Makefileに
LIBS = -L/usr/lib -liconv
を追加しています。