- PR -

javaでSJISのコード判定

投稿者投稿内容
ブル
会議室デビュー日: 2004/06/25
投稿数: 16
投稿日時: 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"
でゅうく
大ベテラン
会議室デビュー日: 2003/11/30
投稿数: 129
投稿日時: 2004-09-06 22:55
引用:

ブルさんの書き込み (2004-09-06 19:55) より:
Caused by: java.nio.charset.UnsupportedCharsetException: x-JIS0208


x-JIS0208 文字セットを利用するには、ランタイムに charsets.jar が必要みたいですね。
JAVA_HOME/jre/lib 配下に charsets.jar はありますか?
でゅうく
大ベテラン
会議室デビュー日: 2003/11/30
投稿数: 129
投稿日時: 2004-09-06 23:49
引用:

ブルさんの書き込み (2004-09-06 17:10) より:
String.getBytes("MS932") とかString.getBytes("Shift_Jis")と行った場合にwinでは取れるのですが、solarisだとダメでした・・・


これも charsets.jar (package sun.nio.cs.ext) が無ければ上手くいかないと思います。

[ メッセージ編集済み 編集者: でゅうく 編集日時 2004-09-07 02:42 ]
成瀬ゆい
常連さん
会議室デビュー日: 2002/08/16
投稿数: 21
お住まい・勤務地: 東京
投稿日時: 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/06/25
投稿数: 16
投稿日時: 2004-09-07 16:48
すいません。java.lang.ExceptionInInitializerError
の原因がわかったような・・

エラー:JDK1.4.0_02
正常 :JDK1.4.2_04

JDKのバージョンを変えることにより正常にサンプルが
動作しました。

たしかにコードのテーブルを活用するのが最善
でしょうか?・・

さくらば
大ベテラン
会議室デビュー日: 2002/11/12
投稿数: 145
投稿日時: 2004-09-07 17:29
こんにちは、さくらばです。

引用:

ブルさんの書き込み (2004-09-07 16:48) より:
すいません。java.lang.ExceptionInInitializerError
の原因がわかったような・・

エラー:JDK1.4.0_02
正常 :JDK1.4.2_04



あまり知られていないことかもしれませんが、Charset クラスで
日本語がサポートされたのは J2SE 1.4.1 からなのです。

# ついでにいうと Charset で JISAutoDetect がサポートされるのは
# J2SE 5.0 からだそうです。
ブル
会議室デビュー日: 2004/06/25
投稿数: 16
投稿日時: 2004-09-07 18:59
やはりそうですか・・・
1.4.1で考えてみようかと思います。

ありがとうございます。


[/quote]

あまり知られていないことかもしれませんが、Charset クラスで
日本語がサポートされたのは J2SE 1.4.1 からなのです。

# ついでにいうと Charset で JISAutoDetect がサポートされるのは
# J2SE 5.0 からだそうです。

[/quote]

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