• 締切済み

auのWINでのみmailto指定で記号(+)が認識されない

携帯のホームページを作成中です。 空メール送信でメールアドレスを登録するページをつくっていたのですが、 mailtoでメーラが立ち上がるように指定したところ、 auのWINでのみ記号部分が認識されず空白になってしまいます。 以下のようなタグを使用しました。 <a href="mailto:***+*****@****.com">空メールを送る</a> メーラが立ち上がったときに、 「+」の部分が認識されず空白になってしまいます。 これは私の設定が悪いのでしょうか。 それともこういうものなのでしょうか よろしくお願いします。

みんなの回答

回答No.2

ANo.1にあるとおり、 %nn(nは数字)を記号などに変換したり、スペースを+に変換するのはURIのエンコードの仕様です。 エンコードされた文字列は、実際に使用するときにデコードします。 ウェブサーバーに送信するときはウェブサーバーが「実際に使用する」ですから、ウェブサーバー(CGIアプリケーション)がデコードする、 メーラーが使用するときはメーラーがデコードする。 mailtoスキームもURIですから、バグでも何でもないと思います。 スペースはメールアドレスとして使用できないため、 メーラー、またはブラウザが再変換するというFirefoxなどの独自仕様と思います。 こういう制作者のミスをブラウザがサポートすることは、IEのHTMLやCSS解析表示などが有名だと思います。 (一部の方からはIEのバグと呼ばれている機能ですが、私はこういうブラウザの機能は賛成です) HTMLでは、URIとして使用する文字は、あらかじめエンコードしておくべきですから、+の文字を%2Bで記述するのがよいと思います。 PC用ブラウザの場合ですと、<a href="/***/文字"> というリンは、HTMLファイルの文字コードやブラウザの設定により、 UTF-8の/***/%E6%96%87%E5%AD%97 になったり、 Shift_JISの/***/%95%B6%8E%9A になったりします。 URLエンコードをブラウザに任せると、アクセスできなくなることがあります。 問い合わせることで、今後出てくる機種に対しては、+をスペースに変換されなくなるかも知れません。 それはそれで良いと思いますが、(部外者が関与することではないと思う) すでにリリースされている機種については、スペースに変換されたままですから、 これはプログラマーが何とかしなければならないと思います。 (もちろん古い機種は使わないでくださいでもかまわないと思います。 実際、そういう携帯サイトは数多くあります。) > ANo.1 > #この質問のURIつきでもかまわない。 同意します。

すると、全ての回答が全文表示されます。
回答No.1

★Marine-Blue(このサイトではMAN_MA_RUI)さんに検証してもらったところ,au W22H(KDDI-HI33)では <a href="mailto:example%2Bexample@example.com">mailto:example%2Bexample@example.com</a>で %2Bの部分が+として認識されたとのこと。 この挙動が他の型番においてもそうであるかは不明。 ★ IE 7.0.5730.11 Opera 9.50 beta 9681 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b3pre) Gecko/2007121405 Minefield/3.0b3pre Safari 3.0.4(523.12.9) on Windows XP SP3 RC1 で検証したところ, <a href="mailto:example+example@example.com">mailto:example+example@example.com</a> <a href="mailto:example%2Bexample@example.com">mailto:example%2Bexample@example.com</a> どちらも Thunderbird version 3.0a1pre (2007121103)に対し, 半角スペースや文字列"%2B"ではなく文字"+"として送られている。 ★いくつかの資料を読んでみたが,自分に読解力がないせいか http://www.ietf.org/rfc/rfc3986.txt http://www.faqs.org/rfcs/rfc2368.html http://www.faqs.org/rfcs/rfc2616.html http://en.wikipedia.org/wiki/Percent-encoding http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1 http://www.ietf.org/rfc/rfc1738.txt http://blogs.msdn.com/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1 HTMLで enctype属性にwww-form-urlencodedが指定されたform要素から 送信されるデータの半角スペースが+にエンコードされる(W3Cの資料)というのはあるが…。 これがmailto:スキームのURIにも適用されるという自信が持てない。 (スキーム次第,と書かれているように見える) ひょっとしたらau WINのバグかもしれない。 問い合わせたいところだが, ★俺はauの携帯電話含め携帯電話自体持ってない。 将来所持するつもりもない。 門前払いされる可能性大なので,俺がサポートに電話するのは気が引ける。 ので仮に%2Bでうまくいったとしても,質問者さんにやってほしいことがある。 auへの直接の問い合わせ https://cs119.kddi.com/au/query_au.jsp #この質問のURIつきでもかまわない。 >当窓口からの返答内容につきましては、無断転載・引用することを堅くお断りいたします。 とあるので【何とか許可を取り付けた上で】 返答を補足・お礼に記述してほしい。 #情報が出ていないと今後Web開発する人が困るので。 #「バグ・不具合」ならそう言ってほしい #できれば #「標準仕様」の記述があるならその部分の引用を。 #auの「独自仕様」であれば,「auの技術文書」でその記述がされている箇所の「抜き出し」を。

すると、全ての回答が全文表示されます。

関連するQ&A