リンクにメールの件名と内容の埋め込み

[新着] Webテンプレートを仮オープンしました



0   名前: きなこ : 2007/05/17(木) 11:04  ID:SgK2dQRu sub-Q5
現在、仕事で

このサイトを友達に紹介する
のコメントへリンクをはり、クリックするとメーラーが開き
自動的に件名と文章が入っているというものの動作テストをしております。

<font color="#336600">■</font><a href="mailto:?subject=テスト&body=「テスト」%0D%0A
http://www.****.jp/">このサイトを友達に紹介する</a><br>

IE6だと問題なく表示されるのですが
他のブラウザ(Firefoxやopela)では文字化けして表示されてしまいます。
対策はあるのでしょうか。

また、上記ソースの中の %0D%0A は改行するという意味なのでしょうか。

どなたかご教示くださいませんでしょうか。
お願い致します。

1   名前: てとら : 2007/05/17(木) 11:04  ID:tAr1iqQ1 sub-f8
あまり詳しくは無いのですが、URLに日本語を使用すると文字化けする環境もあるようです。
その際、自分はこのサイト内で提供されているツールの

メールアドレス変換フォーム
http://www.tagindex.com/tool/mail.html

URLエンコード・デコードフォーム
http://www.tagindex.com/tool/url.html

を利用させてもらいました。
これで日本語を変換すれば、文字化けは解消されると思います。

ちなみに、上記ツールで %0D%0A をデコードすると、改行コードとして認識されますよ。

2   名前: 匿名 : 2007/05/17(木) 11:04  ID:eKwtY88/ sub-Cz
と言うか、href 属性の値は URI であり、URI の中で日本語文字を使用してはいけない。ファイル名に日本語文字を使わない方が良いのと同じ理屈。日本語文字はパーセント符号化しておかねばならない(>>1 のリンク先)。なお、パーセント符号化する際は UTF-8 で行うべし

また、href 属性中に URI を書くときは、「&」を直接書いてはいけない。「&amp;」か「&#38;」で置き換えて「&amp;body=..」と書かねばならない。「&body=...」をそのまんま書いているデタラメな解説が多いが、真似してはいけない。

http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/appendix/notes.html#h-B.2
# >>1 が言うように、%0D%0A は改行文字 CR+LF をパーセント符号化したもの。

3   名前: きなこ : 2007/05/17(木) 11:04  ID:SgK2dQRu sub-Q5
問題が解決いたしました。ありがとうございます。

日本語を直接書かないことを考えます。

TAG indexの起動させたメールに件名や本文を入れるという項目がありましたので

確認して、自分自身でよく認識をした上で、設定して問題ありませんでした。

%0D%0A が改行を意味することもわかりました。

ただ、匿名さんがおっしゃられている内容「%」を直接書いてはいけない

ことについては、あまり解説されていないようです。

こちらのサイトでも書かれていないでしょうか。

理由はよくわからないのですが、注意していきます。

てとらさん、匿名さんありがとうございました。

4   名前: 匿名 : 2007/05/17(木) 11:04  ID:PP/Xvh4G sub-RV
%ではなく&の話ですよね。

「&〜」というような文字列は実態参照としてみなされる。

なので…
「&body」
と書くと、不明な実態参照となってしまうから。

http://www.tagindex.com/html_tag/basic/character.html

5   名前: きなこ : 2007/05/17(木) 11:04  ID:SgK2dQRu sub-Q5
すみません。
「&」のお話です。

特殊文字一覧ページを参考にさせて頂きます。

ありがとうございました。

6   名前: Z ◆XTzyosZXcL : 2007/05/17(木) 11:04  ID:JN5GgSr4 sub-Cl
>>3
>あまり解説されていないようです。
 実際には、& のままでも動いてしまう(>>4でも述べられているように「不明な実態参照」となるから)ことが多いからでしょうね。

参考資料・URI の中に & を書くべからず:
http://bakera.jp/html/opinion/ampersand.html

7   名前: 匿名 : 2007/05/17(木) 11:04  ID:eKwtY88/ sub-Cz
一応、実体参照(Entity Reference)なので念のため。DTD 等で実体を宣言しておき、本文ではその実体を参照することで、いろんなものを本文に埋め込んだりできるわけですが略。

XML である XHTML では、未定義の実体参照が見つかった時点でエラーとなります。

一覧へ戻る