[mayaa-user:701] Re: WebSphere6.1でsun.io.MalformedInputException

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 11月 15日 (土) 01:00:35 JST


小林 (koichik) です.

Date:    Fri, 14 Nov 2008 19:16:21 +0900
From:    suga <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [mayaa-user:699] Re: WebSphere6.1でsun.io.MalformedInputException

> Tomcat で動作するということは、WebSphere の実行環境の何かが
> 原因になっていると思います。
> 
> Java VM などは同じですか?

通常 WAS は IBM JDK を使うので,その違いでしょう.

もしかしたら以下に該当していないでしょうか.

http://lamp.epfl.ch/java/java-ibm-1.5/docs/ja/sdkandruntimeguide.lnx.ja.htm#wq117
----------------------------------------------------------------------
システム・ロケールが UTF-8 エンコード方式を使用している場合、一部の 
SDK ツールで sun.io.MalformedInputException がスローされる場合があります。 
システムが UTF-8 エンコード方式を使用しているかどうかを 確認するには、
LANG または LC_ALL などの ロケール固有の環境変数を調べて、その末尾が
接尾部「.UTF-8」になっているか確認します。 
この sun.io.MalformedInputException が出されたら、7 ビット ASCII の
範囲 (0x00 - 0x7f) 外に あり Java Unicode 文字リテラルとして表現されて
いない文字を Java Unicode 文字リテラル (たとえば「\u0080」) に変更します。 
また、ロケール固有の環境変数から「.UTF-8」接尾部を除去することによっても、 
この問題を回避することができます。 たとえば、ご使用のマシンのデフォルトの
ロケールが 「en_US.UTF-8」である場合は、LANG を「en_US」に設定します。
----------------------------------------------------------------------

7 ビット ASCII の範囲 (0x00 - 0x7f) 外を Unicode 
リテラルにしろという辺りは,[mayaa-user:700] の
やまなかさんの解決策と同じですね.

それよりはプラットフォームデフォルトを 
UTF-8 以外にする方が簡単そうですが.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



mayaa-user メーリングリストの案内