PHPアップグレードで文字コードの変換についてを記載しています。
サイト(ページ)の変換については
「PHPアップグレードで文字化け①」
でご紹介しておりますのでご参照ください。
修正例/メールソフト: KENT-WEBさん「POST-MAIL」
厄介なメールの文字化け
PHPはUTF-8環境においてもメール送信の機能的な問題でShift-JIS使用します。ここではjavascriptとタグを使って送信し文字化けを解消しています。
サイト内の文字が正常に表示されてれていても送信用CGIをUTF-8に変換しただけでは送信文が文字化けます。メールのエンコードをUTF-8に指定しても問題は解決しません↓
[insert page=’522-2′ display=’content’]
送信方法を指定する
メールとして発信する「submit」ボタンのタグにコードを記載します。
①ページの<head>内にJavascriptを記序する。
ページはUTF-8を指定し変換も行ってください。
▼タグ
<meta http-equiv=”content-type” content=”text/html; charset=UTF-8” />
▼Shift-JISで送信するコード
<head>
・・・
<script>
<script>
function submitSJIS(f) {
var charset_save = document.charset;
document.charset=’shift_jis’;
document.getElementById(‘f1’).submit();
document.charset = charset_save;
}
</script>
</head>
②フォームタグ
赤い部分を追記します。
<form action=”$script” method=”post” accept-charset=”shift_jis”>
③送信ボタン
赤い部分を追記します。
<input type=”submit” value=”送信する >>” onclick=”submitSJIS();” />
<input type=”submit” value=”送信する >>” onclick=”submitSJIS();” />
これで送信内容は文字化け解消です。
保存時に「UTF-8」を忘れずに。
保存時に「UTF-8」を忘れずに。
Shift-JISの入れ物に注意
「Shift-JIS」で出力したデータの出力先のテンプレートがUTF-8だと文字化けしますのでS-JISに指定してください。
タイトルの文字化け
現在対策中です。
現在アルファベットで応急処置をしています。解決策が見付かりましたら追加で記載します。