Softbank の一部の機種で文字化け!?

88 views
Skip to first unread message

naopontan

unread,
Jun 23, 2010, 12:05:56 AM6/23/10
to jpmobile
こんにちは。

Rails2.1.2 + jpmobile を使っています。
以下の端末で文字化けします。
- 932SH
- 934SH
- 831SH
- Firefoxプラグインの FireMobileSimulator の 「SB SoftBank 930SH(3GC型)」

これらの機種は jpmobile で動作実績はあるのでしょうか?

Shin-ichiro OGAWA

unread,
Jun 23, 2010, 1:29:12 AM6/23/10
to jpmo...@googlegroups.com
小川です。

jpmobile は 0.0.5 でしょうか。
またフィルターは何を使ってますか?

手元の環境が Rails 2.3.5 + jpmobile 0.0.7 しかないので、
検証できないのですが、どの文字がどう化けるのかわかりますか?

--------
小川 伸一郎 (Shin-ichiro OGAWA)
rust....@gmail.com
GPG ID 94B70E36 / 75360751
fingerprint: {C64E 9826 8A75 723E DE54 / 70A8 F623 220C 94B7 0E36}
http://stnard.jp/
http://twitter.com/conceal_rs/
http://iddy.jp/profile/rust/

2010/6/23 naopontan <naop...@gmail.com>:

> --
> このメールは Google グループのグループ「jpmobile」の登録者に送られています。
> このグループに投稿するには、jpmo...@googlegroups.com にメールを送信してください。
> このグループから退会するには、jpmobile+u...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/jpmobile?hl=ja からこのグループにアクセスしてください。
>
>

naopontan

unread,
Jun 23, 2010, 3:02:13 AM6/23/10
to jpmo...@googlegroups.com
naopontan です。

> jpmobile は 0.0.5 でしょうか。
えーっと、バージョン確認は...
vendor/plugins/jpmobile/CHANGELOG には 0.0.3 とあります。

> またフィルターは何を使ってますか?
以下の情報で良いでしょうか。
◆コントローラ
./controllers/application.rb: mobile_filter :hankaku=>true
◆view
app/views/sessions/new_mobile.html.erb

> 手元の環境が Rails 2.3.5 + jpmobile 0.0.7 しかないので、
> 検証できないのですが、どの文字がどう化けるのかわかりますか?

見た方が分かりやすいと思うので画像をキャプチャしました。
- bakenai.png: 化けない版: FireMobileSimulator にて 「SB V602T(P6型)」を選択
- bakeru*.png: 化けちる版: FireMobileSimulator にて 「SB SoftBank 930SH(3GC型)」を選択


2010年6月23日14:29 Shin-ichiro OGAWA <rust....@gmail.com>:

bakenai.png
bakeru_sb3gc.png

Shin-ichiro OGAWA

unread,
Jun 23, 2010, 3:38:45 AM6/23/10
to jpmo...@googlegroups.com
小川です。

> えーっと、バージョン確認は...
> vendor/plugins/jpmobile/CHANGELOG には 0.0.3 とあります。

すみません、これは0.0.7まで変更されていませんでしたorz

とりあえず、Rails 2.1.2 + jpmobile 0.0.3, 0.0.4, 0.0.5 で確認しましたが、
簡単な例では再現しませんでした。(文字化けしない)

- app/controllers/top_controller.rb
class TopController < ApplicationController
mobile_filter :hankaku => true

def index
end
end

- app/views/top/index.html.erb
bake<br />
化ける?<br />
漢字。表。<br />

- app/views/layouts/application.html.erb
<html>
<head>
<title>エントリーシステム</title>
</head>
<body>
<div align="center">エントリーシステム</div>
<%= yield -%>
</body>
</html>

もし可能なら、ビューとコントローラの該当部分など見せていただければ
検証できるかも知れません。
# MLに投げるのがまずそうなら、直接メールでも大丈夫です。

naopontan

unread,
Jun 23, 2010, 5:27:06 AM6/23/10
to jpmo...@googlegroups.com
naopontan です。

細かいところまで確認下さって、本当に感謝致します。
小川さんの環境で再現しなかったとの事で、こちらで調査したところ原因が判明しました。

以下のロジックが悪さしてました。
class ApplicationController < ActionController::Base
before_filter :set_content_type
def set_content_type
headers["Content-Type"] = ((request.mobile?) ?
"application/xhtml+xml; charset=Shift_JIS" : "text/html;
charset=UTF-8")
end
end

上記のメソッドを削除する事で解決したようです。


はずかしながら、このロジックを入れた経緯を覚えていません(subversionログ見ても不明)
恐らく、
http://koress.jp/2009/01/jpmobile_restful_authenticatio.html
を参考にしたと思います。
この辺りは実は以前に、このMLに質問を投げています。
http://groups.google.co.jp/group/jpmobile/browse_thread/thread/9e65c1ecbe05d151
ここで色々試行錯誤して入り込んじゃったのかなぁ…

という事で、これで様子を見たいと思います。


2010年6月23日16:38 Shin-ichiro OGAWA <rust....@gmail.com>:

Shin-ichiro OGAWA

unread,
Jun 23, 2010, 9:46:33 AM6/23/10
to jpmo...@googlegroups.com
小川です。

解決して何よりです。
強制的にcharset=Shift_JISになっていたにもかかわらず、
SoftBankはUTF-8で出力したため、
文字化けしていたようですね。

Reply all
Reply to author
Forward
0 new messages