[Seasar-user:21229] Re: SAStruts, mayaa, mobylet利用時の文字化け

Shin Takeuchi [E-MAIL ADDRESS DELETED]
2011年 12月 22日 (木) 18:04:19 JST


竹内(stakeuchi)です。

Mayaaなどのテンプレートエンジン自体が文字コード変換処理を行っているため
mobyletの文字コード変換処理と競合しているのですが
これを制御するのがForceWrap機能です。

イメージとしては2重で文字コード変換処理を行うため
以下のような形になります。

Mayaa メモリ上のユニコードchar→Mayaaで設定した文字コード(proxyCharsetと一致する必要有り)でbyte変換
mobylet proxyCharsetでbyteをcharへ戻し→キャリア毎の文字コードでbyte変換


このため最終出力結果はmobyletがキャリア毎に判定している
文字コードとなっていますが
proxyCharsetのタイミングで文字コードのアンマッチが起きている可能性があります。

metaタグに関してはMayaaでも判定しているかもしれませんので
慎重に扱わないと行けませんが
(mobyletだけなら<m:charset />タグなどで制御します)
一旦Mayaaの出力をUTF-8に設定して
proxyCharsetもUTF-8にしてみてはいかがでしょうか?

#テスト自体もUnicode系で行っていますが
#文字化けという意味ではwindows-31jよりも発生しづらくなると思います。


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


2011年12月20日20:47 PSC 松本 <[E-MAIL ADDRESS DELETED]>:
> いつもお世話になっております。
> 松本と申します。
>
> SAStruts+mayaa+mobyletの環境にて構築していまが、
> Firefoxのエミュレータにて確認したところ、
> softbankの場合のみ文字化けしてしまいます。
> (UTF-8でも、Shift_JISでもない?)
>
> htmlの文字コードはshift_jisです。
> <meta http-equiv="Content-Type" content="application/xhtml+xml ;
> charset=Shift_JIS"/>
> が入っていると問題かと思い、削除してみたものの
> 同じ結果となっています。
>
> web.xmlの設定は以下のとおりです。
>
> <filter>
>    <filter-name>mobyletfilter</filter-name>
>
> <filter-class>org.seasar.mobylet.http.S2ForceWrapMobyletFilter</filter-class>
>    <init-param>
>        <param-name>isAllForceWrap</param-name>
>        <param-value>true</param-value>
>    </init-param>
>    <init-param>
>        <param-name>proxyCharset</param-name>
>        <param-value>Windows-31J</param-value>
>    </init-param>
> </filter>
>
> <filter-mapping>
>    <filter-name>mobyletfilter</filter-name>
>    <url-pattern>/*</url-pattern>
>    <dispatcher>REQUEST</dispatcher>
>    <dispatcher>FORWARD</dispatcher>
>    <dispatcher>INCLUDE</dispatcher>
> </filter-mapping>
>
> 他のエンコードフィルターとの流用はしていません。
>
> init-paramを削除し、ForceWrapUtils.setForceWrapRequest();
> をActionに記述したりもしてみましたが、結果同じです。
>
> 設定方法の誤りと思うのですが、
> 設定方法がイマイチよくわかっていません。
> (S2ForceWrapMobyletFilterのcharsetって何?みたいな)
>
> 原因がお分かりの方がいらっしゃれば、
> ご回答お願い致します。
>
> 以上、よろしくお願い致します。
>
>
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user


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