IBM拡張文字解決

 第三水準漢字を使用する会社のおかげで、文字コードに対する憎しみが大変増えました。なんで、こんなに仕様があるんだよ っていう。
 経緯を書きます。
 既存のライブラリ(nkf32 古)を使用してShift_JisEUC-JPへ変換させると、第三水準漢字のIBM拡張文字は、変換対象外でした。変換失敗です。
 んで、それを告げると、「会社名だし出して欲しい」とかって話になり、対応必須となりました。
 仕方ないので、違うライブラリを使用します。
どうにか、VCで使えるライブラリを見つけ出して(iconv)、変換すると・・・CP51932形式のEUC-JPとなり変換成功!
 と思いきや、どうもDBやPHPはeucJP-open(Ascii,msかも)で、文字が正しく処理されない。つまり、3バイトのIBM拡張文字に変換する必要があった訳で。
 仕方ないので(2回目)、変換がそもそも可能か検討します。
 Linux上でのコマンド"nkf"を使用して実験すると・・・やっぱり駄目でした。man nkfでもそれらしい引数はありません。糸冬りょ と思いきや、どうもLinux上のnkfは少し古いようで、最新のnkfがありました。そのnkfの引数にeucJP-Asciiが指定できるのを発見し、ついに終わりかと思われました。
 んで、VCで実装しようとしても、なぜか落ちる、落ちる(「落ちろカトンボ!」)。
 2時間ぐらいかかって、判明したのは 「__stdcall」を書き忘れていた事実っていうね(馬鹿だ俺−)。もう疲れた。
 (変換は無事成功しました)