文字コード掲示板


記事表示


No.119投稿日時:2003/11/04(火) 01:06    <親記事>
投稿者:小林 裕幸  <E-Mail>

二度目の投稿です。 森山様が...

二度目の投稿です。

森山様が丁寧にもレス下さったにもかかわらず、
忙しさにかまけて返答を怠った馬鹿ものです。
せめてもの罪滅ぼしに、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で
最新のパッチを当てた状態ですので、
いまだ報告されていない問題なのかな?
といった感じです。
もう少し追ってみますので、後ほど報告差し上げます。

森山様・・・本当に・・・本当に申し訳ございませんでした。


Script : Sylpheed 1.24
Modified by MORIYAMA Masayuki