良いページなのに忘れて一々検索しちゃうのでメモ。
まあ、最近はデフォルトの設定がこうなってきてますね。
いわゆる半角カナや種依存文字などをメールで送信する方法 – t_komuraの日記
メールの送信エンコーディングに UTF-8 を使用すれば、機種依存文字という問題を気にする必要はほとんどありませんが、まだ一般的には、ISO-2022-JP を使用してメールを送る方が多いと思います。ただ、PHP の mb_send_mail では、いわゆる半角カタカナや、機種依存文字を送信することはできません。これらの文字は ‘?’ に変換されます。
PHP 5.2.1 からは、レガシーエンコーディングの追加として、ISO-2022-JP-MS というエンコーディングが追加されました。ISO-2022-JP-MS を使用すれば、このエンコーディングでサポートされている文字を送信することができます。ISO-2022-JP-MS については、[PHP-dev 1345] PHP への CP932 系エンコーディングの追加パッチを参照してください。
ふーむ。ややこしいなメモ。
あけましておめでとうございます!
皆様、如何お過ごしでしたでしょうか。
私は食中毒で大ダウン中でした(^_^;)
2009年も頑張ってまいりましょう!
PHP: mb_convert_encoding – Manual
$str = mb_convert_encoding($str, “UCS-2LE”, “JIS, eucjp-win, sjis-win”);
eucjp-win、sjis-winをよく忘れるのでメモ。
CSVを作ったりする時に、sjis-win、よく使いますよネ。
mb_encode_mimeheaderの都市伝説を検証する – CPA-LABテクニカル
mb_encode_mimeheaderを詳しく検証し、正しいバッドノウハウ(^_^;) を解明されています。
素晴らしくわかりやすい記事ですね。参考になります!
WEBプログラミング NOW!: PHPで、いわゆる機種依存文字の文字コード変換(EUC-JP→UTF-8)にはまる
UTF-8 -> CP51932 を SJIS-win 経由で変換する場合は、SJIS-win に変換した後、IBM拡張文字をNEC選定IBM拡張文字に置換してから EUC-JP に変換する必要があると思われますのでご注意ください。
なるほど。できるのかな。要チェック。
日本語文字列のバイト数取得にstrlenだけではダメな理由-PHP – CPA-LABテクニカル
日本語文字列のバイト数取得する方法が、strlenだけではダメなんだよ、という記事です。
参考になります。
㈱とかⅡ(←ローマ数字)とかの特殊な記号はUTF8からShift_JISやEUC-JPに直接変換できません。メールで送る場合、特に携帯が絡んでくると、Shift_JISやEUC-JPにどうしても変換したい場合がありますので、何とか上手く記号を橋渡し出来ないかと色々調べてみましたが、出来ないようです。
というわけで別のアプローチとして、特殊記号を普通の文字に『ひらいて』から変換しようというスクリプトたちがこちらです。
私は三番目の機種依存文字の変換を使用させていただいてます。
最近のコメント