- - PR -
javaでSJISのコード判定
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-09-06 19:55
区点コードなんですよね〜
一応、動かしてみたんですが以下のエラーが出力されました。 サポートされていないのでしょうか・・ java.lang.ExceptionInInitializerError at CodeTable.updateTable(CodeTable.java:163) at CodeTable.<init>(CodeTable.java:83) at CodeTable.main(CodeTable.java:35) Caused by: java.nio.charset.UnsupportedCharsetException: x-JIS0208 at java.nio.charset.Charset.forName(Charset.java:428) at CodeConverter.<clinit>(CodeTable.java:231) ... 3 more Exception in thread "main" | ||||
|
投稿日時: 2004-09-06 22:55
x-JIS0208 文字セットを利用するには、ランタイムに charsets.jar が必要みたいですね。 JAVA_HOME/jre/lib 配下に charsets.jar はありますか? | ||||
|
投稿日時: 2004-09-06 23:49
これも charsets.jar (package sun.nio.cs.ext) が無ければ上手くいかないと思います。 [ メッセージ編集済み 編集者: でゅうく 編集日時 2004-09-07 02:42 ] | ||||
|
投稿日時: 2004-09-07 04:19
うーん、変換テーブルがある環境と無い環境があるのですかね。
多少強引にはなりますが、 http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT や http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/SHIFTJIS.TXT といった、変換テーブルを元に、 自分でエラーにしたいUnicodem文字のテーブルを作って、 それを用いて判定してしまうというのが確実かもしれません。 いざとなったらこの方法でも^^;; | ||||
|
投稿日時: 2004-09-07 16:48
すいません。java.lang.ExceptionInInitializerError
の原因がわかったような・・ エラー:JDK1.4.0_02 正常 :JDK1.4.2_04 JDKのバージョンを変えることにより正常にサンプルが 動作しました。 たしかにコードのテーブルを活用するのが最善 でしょうか?・・ | ||||
|
投稿日時: 2004-09-07 17:29
こんにちは、さくらばです。
あまり知られていないことかもしれませんが、Charset クラスで 日本語がサポートされたのは J2SE 1.4.1 からなのです。 # ついでにいうと Charset で JISAutoDetect がサポートされるのは # J2SE 5.0 からだそうです。 | ||||
|
投稿日時: 2004-09-07 18:59
やはりそうですか・・・
1.4.1で考えてみようかと思います。 ありがとうございます。 [/quote] あまり知られていないことかもしれませんが、Charset クラスで 日本語がサポートされたのは J2SE 1.4.1 からなのです。 # ついでにいうと Charset で JISAutoDetect がサポートされるのは # J2SE 5.0 からだそうです。 [/quote] | ||||
