カフェ関連サイトのシステム開発日記トップ > PHP | html | フレームワーク > Ezweb(au)でモバイルサイトのフォームを送信する際に文字化けする件

Ezweb(au)でモバイルサイトのフォームを送信する際に文字化けする件

はじめてモバイルサイトのフォームをつくってみたのですが、
Ezwebだと必ず文字化けして送信されてしまっていました。

いろいろ調べてみると、htmlのenctypeがmultipart/form-data の場合、
Ezwebは文字化けした文字列を受け取るようです。

 
ということは逆に、enctypeを指定しなければ
正しい文字列が受け取れるのか。。。

 
ということで試してみたら、本当にできました(苦笑)

原因は不明ですが、とりあえずできてよかったです。

 
以下、PEAR::Net_UserAgent_Mobileを使って
symfonyのテンプレート側でenctypeを切り分けるソースを備忘録として残しておきます。

< ?php if($objAgent->isEZweb()){ ?>
<form action=”editconfirm” method=”post” >
< ?php }else{ ?>
<form action=”editconfirm” method=”post” enctype=”multipart/form-data” >
< ?php } ?>

※一部全角にしてあります。

i-modeとEzweb、PCで文字化けしないことの確認はできました。
(softbankは確認してません(苦笑))

 
ちなみに文字コードは各キャリアごと

■docomo
Shift_JIS
■au
Shift_JIS
■softbank
UTF-8
■PC
UTF-8

にしています。

ブックマークに追加:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Twitter
  • Technorati
  • Google Bookmarks
  • FriendFeed
  • Buzzurl
  • LinkedIn

この記事を読んだ人は次の記事も読んでいます

Comments:2

maru_cc 09-03-11 (水) 12:10

はじめまして。

enctype=”multipart/form-data” は、ファイルのアップロードフォームなどで使用するものなので、
携帯のフォームの場合にはそもそも必要ないので、キャリア判別も必要ないと思います。

http://jp2.php.net/manual/ja/features.file-upload.post-method.php

php5系の場合、enctypeが指定している場合にmbの入力文字列の変換が効かないので、inputで来た文字コードと、内部文字コードが違うため文字化けという状況になるのだと思います。

cafemusic 09-03-11 (水) 12:16

>maru_ccさん
ご教授ありがとうございます!
そもそもenctype=”multipart/form-data” はいらなかったのですね。。初歩的なところでお恥ずかしい限りです(汗

>php5系の場合、enctypeが指定している場合にmbの入力文字列の変換が効かない
この部分も知りませんでした、文字コードで悩むことが多いのでしっかり勉強していきたいと思います。。。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://cafe-system.com/system274.html/trackback

カフェ関連サイトのシステム開発日記トップ > PHP | html | フレームワーク > Ezweb(au)でモバイルサイトのフォームを送信する際に文字化けする件

Tag Cloud
Archives
    2010年3月
    « 2月    
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
あわせて読みたいブログパーツ
Feeds
Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Return to page top