二度目の投稿です。
森山様が丁寧にもレス下さったにもかかわらず、
忙しさにかまけて返答を怠った馬鹿ものです。
せめてもの罪滅ぼしに、Javaコンポーネント開発中に、
起こった障害を、報告いたします。
せめてもの参考になれば幸いです。
Javaですので文字のエンコードについて、あまり意図はせず、
送られてきた文字コードを、UTF-8に変換するロジックを、
そのまま使用しており、出力時に適宜書き換えて使用しています。
今回、特定のパターンではありますが、
以下のように障害が発生いたしました。
JDK1.3*では、問題が発生しないロジックが、
JDK1.4*では、Stringのコンストラクタを生成する時点で、
java.lang.IllegalArgumentExceptionをThrowしてしまう
事象がLinuxでのみ発生いたしました。
Linuxのディストリビューションは、
RedHatAS2.1
MiracleAPserver2.1
SuSEKernel2.4*
TourboLinux8(Kernel2.6*)
VineLinuxなどほぼすべてのディストリビューションで確認いたしました。
読み込む文字は、JIS系の文字で¥'(0x5c) が含まれていると、
エスケープシーケンスと誤認されているようなものでした。
(EUC→UTF-8では発生しない障害でした。)
コンポーネント内で、システムプロパティからLOCALEを
取得している関係上、LOCALE=JP,eucJPを、eucjpと
小文字にして回避を行いましたが・・・glibc内の実装が怪しい気がします。
このときglibcのバージョンは、RedHatにおいてRHNで
最新のパッチを当てた状態ですので、
いまだ報告されていない問題なのかな?
といった感じです。
もう少し追ってみますので、後ほど報告差し上げます。
森山様・・・本当に・・・本当に申し訳ございませんでした。