- PR -

WindowsにおいてMS932がUnsupportedEncodingException

1
投稿者投稿内容
syo
常連さん
会議室デビュー日: 2003/08/17
投稿数: 43
投稿日時: 2003-09-13 10:07
お世話になっております。

先日、Windows2000+JDK1.2.2の環境で"MS932"で明示的にエンコーディングを指定して
日本語混じりのテキストファイル(Shift-JIS)からデータを読み込もうとした際に、
「UnsupportedEncodingException」が発生するという現象に遭遇しました。
(その現象が発生したマシン以外(2000/XP)では、MS932で普通にファイルを読み込めました)

それ以外にいろいろと試してみると・・・
1.デフォルトエンコーディングに任せた場合は問題なく読み込めた。
2.ISO8859-1を指定すると、MS932で読み込めなかったマシンは
  文字化けすることなく読み込めたが、それ以外のマシンは(当然のことながら)
  日本語部分が化けた。
3.System.getProperty("file.encoding")を取得すると、全てのマシンでMS932。

他にこのような現象に遭遇された方っていらっしゃいますでしょうか?

ある事情によりデフォルトエンコーディングに任せるわけに
いかなくなったのですが、Windows+MS932でUnsupportedEncodingExceptionが
出るとはまったく予想していなかったためにどうしたものか・・・と詰まっております。
お犬様
ベテラン
会議室デビュー日: 2003/01/26
投稿数: 67
投稿日時: 2003-09-16 14:33
引用:
syoさんの書き込み (2003-09-13 10:07) より:

先日、Windows2000+JDK1.2.2の環境で"MS932"で明示的にエンコーディングを指定して日本語混じりのテキストファイル(Shift-JIS)からデータを読み込もうとした際に、
「UnsupportedEncodingException」が発生するという現象に遭遇しました。(その現象が発生したマシン以外(2000/XP)では、MS932で普通にファイルを読み込めました)

%JAVA_HOME%/jre/lib/i18n.jar が無いとかではないでしょうか? UnsupportedEncodingException が発生したマシンの JDK/JRE を再インストールしたほうが早いかもしれません。

引用:
syoさんの書き込み (2003-09-13 10:07) より:

それ以外にいろいろと試してみると・・・
1.デフォルトエンコーディングに任せた場合は問題なく読み込めた。
2.ISO8859-1を指定すると、MS932で読み込めなかったマシンは
  文字化けすることなく読み込めたが、それ以外のマシンは(当然のことながら)
  日本語部分が化けた。
3.System.getProperty("file.encoding")を取得すると、全てのマシンでMS932。

System.getProperty("file.encoding") で指定されたエンコーディングが、UnsupportedEncodingException を発生させる場合、デフォルトエンコーディングは自動的に "ISO8859-1" に割り当てられたはずだと思います。なので、"MS932" が UnsupportedEncodingException を発生させるマシンでは、デフォルトエンコーディングには "ISO8859-1" が使用されていて、それが明示的に指定した "ISO8859-1" と偶然一致しているのではないかと思われます。
syo
常連さん
会議室デビュー日: 2003/08/17
投稿数: 43
投稿日時: 2003-09-16 23:19
お世話になっております。

引用:

お犬様さんの書き込み (2003-09-16 14:33) より:

%JAVA_HOME%/jre/lib/i18n.jar が無いとかではないでしょうか? UnsupportedEncodingException が発生したマシンの JDK/JRE を再インストールしたほうが早いかもしれません。



実際に問題が起こっているマシンが手元にないので、
別のマシンでi18n.jarを削除してみましたところ、
MS932でUnsupportedEncodingExceptionが発生しました。

問題が起こっているマシンの場合、私が見た時点で
ハードディスクの空き容量が100MBを切っていたので、
インストール時に一部ファイルコピーに失敗している可能性が高そうですね。

一度i18n.jarの存在を確認して、
見つからないようであれば(他にもファイルの欠落が生じている
可能性があるため)、ハードディスク容量を確保してから
再インストールを行おうと思います。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)