[Seasar-user:18953] Re: [Mobylet] エンコードについて

Shin Takeuchi [E-MAIL ADDRESS DELETED]
2009年 12月 1日 (火) 23:20:11 JST


原さん

竹内(stakeuchi)です。

>> viで見るとその文字から「^@」と表現されていました。
> こちらのほうは、まだ回答もいただいてませんが

catalina.outのログで見た場合は
既にURLDecodeされたものなので
Decodeに失敗している時点で文字表現出来ないデータになる可能性はあります。


> 再現がしないということであれば、ソースとPostgresqlのPG_DUMPの
> 提供もできるので調査してもらえたらうれしいです。

先ほど数回実際のサイトを触らせて頂きましたが
全てエラーとなったため、恐らくこれエラーが発生したと思われます。

この時点のデータをSoft Proxyを用いてPOSTしたデータを抽出し、
こちらでテストケースを作成し、同じリクエスト情報をパースする処理を行ったのですが
残念ながら正常にデコードされたため、事象は発生しませんでした。
#このレベルになるとJSPの文字コードは関係無いので
#SJIS系かUTF-8かは問題ではない感じです。


このため外的要因ではないか?
と一つ思っているところも御座いますが
一旦、プロジェクトセットを頂けるのであれば
そちらで確認させて頂くのが確実だと思いますので
個人宛で構いませんので
情報を頂ければ幸いです。


よろしくお願い致します。


2009年12月1日20:46 原 宏和 <[E-MAIL ADDRESS DELETED]>:
> 原です。
>
>> > > 当方のソースはCP932で書いています。
>> > > そのために問題になっているのではないかと思います。
>> >
>> > ソースというのはJSPのことでよろしいでしょうか?
>> > 実際、JSPのソースをどの文字コードで書いていただいても
>> > (万が一表示側で文字化けが起こることはあったとしても)
>> > データベース更新時に問題となるパターンは考えにくいところです。
>> Java,JSPともにCP932です。
>> PostgresqlはUTF-8です。
>> mobyletにする前は問題なかったです。
>>
>> > よろしければ実際に事象が発生した
>> > ・端末
>> > ・入力文字
>> > など、分かる範囲で教えていただけますか?
>> 実際に起こった時のcatalina.outのログを送付します。
>>
>> 添付の31行目の24文字目から化けているようです。
>> 実際は「ワ・イハーの羽<改行>使用するとアイテムはなくなります。」となるはずでした。
>> 他に
>> 228行の1115文字目〜
>> 323行の1180文字目〜
>>
>> viで見るとその文字から「^@」と表現されていました。
> こちらのほうは、まだ回答もいただいてませんが
>
> mobylet-core-1.0.2-20091130.070957-5.jarのスナップショットも
> 適用しましたが、発生しました。
> これを当てたら直るかと思ったのですが・・・
>
> で、不思議に思ったのですが、textareaで長い文字列の場合に途中から文字化け
> しているように思われます。
>
> Action.javaに来る前に文字が化けてしまっていて対処のしようが
> ありません・・・
>
> 再現がしないということであれば、ソースとPostgresqlのPG_DUMPの
> 提供もできるので調査してもらえたらうれしいです。
>
> 私の方で再現が確実に起こっているのは、DoCoMoのN0905i(自分の携帯)から
> http://sweetbat.ddo.jp/miraque/regquest/578
> にアクセスして、「難易度」の「☆☆」を「★★」に変えると
> 例外が発生します。
>
> どうも、HttpServletRequestの中身が化けてるのかとおもうのですが・・・
>
>> よろしくお願いします。
>> >
>> >
>> > よろしくお願い致します。
>> >
>> >
>> > 2009年11月21日20:42 原 宏和 <[E-MAIL ADDRESS DELETED]>:
>> > > 原です。いつもお世話になっております。
>> > >
>> > > Mobyletを導入してからどうもエンコードの問題で例外が発生したりPostgresql
>> > > への更新でエラーが発生しています。
>> > > 問題になっているのはSoftbank携帯からの場合のみのようです。
>> > >
>> > > 当方のソースはCP932で書いています。
>> > > そのために問題になっているのではないかと思います。
>> > >
>> > > 例外の例です。
>> > >
>> > > org.seasar.framework.exception.SQLRuntimeException: [ESSR0072]SQLで例外(SQL=[insert into T_LOG (CRTDT, ACTION, USERAGENT, BODY) values (?, ?, ?, ?)], Message=[[ESSR0072]SQLで例外(SQL=[insert into T_LOG (CRTDT, ACTION, USERAGENT, BODY) values (?, ?, ?, ?)], Message=[0], ErrorCode=22021, SQLState={3})が発生しました : [SQLで例外(Message=[ERROR: invalid byte sequence for encoding "UTF8": 0x00], ErrorCode=0, SQLState=22021)が発生しました。], [ERROR: invalid byte sequence for encoding "UTF8": 0x00], ErrorCode=0, SQLState=22021)が発生しました
>> > >
>> > > 後記録が残っていないですが、URLEncodeでエンコードできないという例外です
>> > >
>> > > ソースコードは何であってもエンコードに問題ないということだったのですが
>> > > UTF-8にしないといけないのでしょうか?
>> > >
>> > > よろしくお願いします。
>> > >
>> > > --
>> > > 原 宏和 <[E-MAIL ADDRESS DELETED]>
>> > > ミラクエ辞典 http://sweetbat.ddo.jp/miraque
>> > > _______________________________________________
>> > > Seasar-user mailing list
>> > > [E-MAIL ADDRESS DELETED]
>> > > https://ml.seasar.org/mailman/listinfo/seasar-user
>> > >
>> >
>> >
>> >
>> > --
>> > ―Lei Hau'oli Co.,Ltd.―――――――――――
>> >
>> >  竹内 真(TAKEUCHI SHIN)
>> >  Tel: 080-3300-9888
>> >  Mail: [E-MAIL ADDRESS DELETED]
>> >
>> >  株式会社Lei Hau'oli
>> >  〒150-0001 東京都渋谷区神宮前4丁目18番6号
>> >  Tel: 03-5775-0315 Fax: 03-5775-0314
>> > _______________________________________________
>> > Seasar-user mailing list
>> > [E-MAIL ADDRESS DELETED]
>> > https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>> --
>> 原 宏和 <[E-MAIL ADDRESS DELETED]>
>
> --
> 原 宏和 <[E-MAIL ADDRESS DELETED]>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



-- 
―Lei Hau'oli Co.,Ltd.―――――――――――

 竹内 真(TAKEUCHI SHIN)
 Tel: 080-3300-9888
 Mail: [E-MAIL ADDRESS DELETED]

 株式会社Lei Hau'oli
 〒150-0001 東京都渋谷区神宮前4丁目18番6号
 Tel: 03-5775-0315 Fax: 03-5775-0314


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