サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
www.securehtml.jp
WEBプログラミングをする際に必ず出てくる処理として、メール送信プログラムがあります。この場合に、サブジェクトが長い場合は、RFC2047によれば、「76文字以内で」複数行に分割すべきとあります。どこからどこまでを76文字とするのかが議論になることも多いようですが、とりあえず形式としては、 Subject: =?UTF-8?B?44GC44GE44GG44GI44GK44GL44GN44GP44GR?= =?UTF-8?B?YeOBk+ODhuOCueODiOOBp+OBmeOAguKRoOKFseOIseKEoXjpq5nvqJDlvYU=?= =?UTF-8?B?76iR5b637JWI64WV7ZWY7IS47JqU?= のような形になります。2行目以降にも同様に「=?UTF-8?B?」で始まり、真ん中にBase64エンコードされた文字列、お尻に「?=」がつながります。ただし、二行目
先ほどのページでは、主要なメールソフト(Windows、Mac)でのUTF-8なメールの対応状況を調べてみました。MacOS9.2.2など古い環境で、いわゆる機種依存文字の表示に問題は見受けられたものの、全くUTF-8に対応していないメールソフトというのは、調査した限りでは皆無でした。 しかしながら、皆さんの中には、メールを送信する際はISO-2022-JPを使うという「戒め」の根拠として、「Shift_JISやEUC-JPなどの文字コードは8bitであり、7bitしか通さない仕様のメールサーバ(Mail Transfer AgentでMTAと略されることが多いです。)を通過した場合、最上位ビットの8bit目が落とされて文字化けメールが発生することがある」ということを聞いたことのある方もいらっしゃると思います。8bit目が欠落したり、8bitだからとバイナリーファイル扱いで、Quoted-
※ 「①」から「⑮」までの丸付き数字など一部の文字は正しく表示されます。 この一覧表を見ても分かりますように、文字化けするのはMacOS 9.2.2におけるNetscape4.7の場合及びMacOSXにおけるmozilla系ブラウザ(Firefox、Netscape、Mozilla)けでした※。なぜ、他のブラウザで文字化けしなかったかというと、このページはShift_JISではなく、UTF-8で書かれているからです。Shift_JISでは、漢字一文字を現すのに2バイトを使いますが、UTF-8では3バイト使用します。Shift_JISの「あ」は「0x82 A0」(「0x」とはその後に続く文字列が16進数であることを示しています)ですが、「0xE3 81 82」です。Shift_JISで扱える文字量とは比べ物にならない量の文字を同時に使うことが可能です。ですから、このNEC特殊文字 13区の文
前のページでは、WindowsやMacのメールソフトを使ってのメール送信方法について解説しました。ここでは、WEBプログラムで利用可能なように、PHPを例題に、どのようにUTF-8のメールをWEBアプリで送信可能かを解説します。 メール関数の一つであるmb_send_mail()関数はmb_language()の設定値を参照しますが、一般的なレンタルサーバの場合、mb_language() の設定は、「Japanese」になっていると思います。この場合、PHPのマニュアルにもありますように、「ISO-2022-JP/Base64」がエンコードとして用いられます。ですが、メール送信プログラムを含むPHPファイルの中で、mb_language("uni")をコールすることで、「UTF-8/Base64」に設定を一時的に設定を変更することが可能です。 <?php //**************
Unicode(UTF-8)で書かれたメールを受信した際に、各種メールソフトがどの程度、NEC特殊文字(丸の中に数字が入っているものや、「(株)」の一文字版など))やNEC選定IBM拡張文字(はしご高・や、SMAPの草剛の「」など。)、ハングル文字の表示への対応をまとめてみました。 メール送信用に利用したのはOutlook Express6.0(WindowsXP)でした。また、これはあくまでもUnicode(UTF-8)でのテキストメール(HTMLメールではありません。)の受信テストです。「①」「㈱」などのNEC特殊文字、「髙」「德」「彅」などのNEC選定IBM拡張文字がUTF-8のメールの場合、Macでどのように表示されるのかをテストしてみました。また、合わせて多言語文字コードであるUnicodeの力を見るため、ハングル文字の受信テストも行いました。 (Unicodeだからこそ可能かも
前のページでは、PHPを使ってのメール送信方法について解説しました。ここでは、さらに利用者の多いperl(CGI)で、どのようにUTF-8のメールをWEBアプリで送信可能かを解説します。 基本的にはPHPでの送信方法の2番目の手法と似た方法で可能です。sendmailにパイプ渡しでメールを送信します。 #!/usr/bin/perl #*********************************************************************** # このプログラムはUTF-8(改行コードはLF)で作成されているものという前提で書かれています。 # 当然ながら、perlのパスは各自の環境に合うように書き換えてください。 # PHPに慣れている私はPHPのmail関数のような自作関数send_emailを定義し # て使っています。 # 本文中に「\」と表示され
□□□□□□ 大容量・高機能レンタルサーバー heteml □□□□□□ 月額1500円で大容量2GB! Flash Media Server、ColdFusionが使えます。 その他、PHP4・PHP5・MySQL・Ruby・Perl・Pythonなども使える納得の高機能。 heteml(ヘテムル)で表現の可能性を広げよう! Windowsを使って入力した機種依存文字(「①」「㈱」、「髙」など)やハングル文字(「안녕하십니까? 」など)をホームページ内で表記するに当たって、UTF-8で記述する場合のブラウザ別対応状況はこれまでに見たとおりですが、実は、Shift_JISやEUC-JPの文書内でも、これらの文字をMac上で表示させる裏技?があります。「数値文字参照」と呼ばれる方法です。これは、「髙」(はしご高)を表すのに、「髙 = 髙」のように表記するやり方です。「髙」には「
具体的なJavascriptのコードは、このページのHTMLソースを見ていただいければ分かりますが、charCodeAtメソッドを用います。HTMLのヘッダー部分に、左のようにConvertという自作関数を定義しています。意外と簡単な仕組みになっています。 Javascriptの関数定義の部分は、左のテキストボックスの中に記したコードのようになります。参考にしてください。 もう一つの方法は、特定文字のUnicode(ユニコード)値(16進数)を10進数表記にすることです。Unicode値は、WindowsのIME 2002なら「ツール→IMEパッド→文字一覧」を選びます。そこで、左端の「シフト JIS」という文字の横の三角印をクリックして「unicode」を選択します。これで、Unicodeの文字一覧が表示されます。 上の例のように、「考」という漢字は、unicodeは「0x8003」(「
日本語をコンピュータで扱うにに際して最も一般的に利用されるのはShift_JISという文字コードです。WindowsでもMacでも、文字を入力する際の文字コードはShift_JISになっています。また、メールを送信する際には、Outlook Expressなどのメールソフトが自動的に文字コードの変換をしてくれているので気がつきにくいですが、日本語を取り扱う際の文字コードとしてJISコード(ISO-2022-JP)が使われています。 また、プログラムを使う際には、EUC-JPで書くとトラブルが少ないことから、EUC-JPもよく使われます。ただ、日本語を利用できる文字コードはこのShift_JIS、EUC-JP、JISの3つのコードだけではありません。多言語を扱うことのできるUnicode(ユニコード)の存在が挙げられます。Unicodeを使えば、理論的には多言語が混合したホームページやメール
このページを最初にブックマークしてみませんか?
『www.securehtml.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く