« PHP:split()関数・spliti()関数 | メイン | PHP:mb_strlen()関数 »

2005年12月25日

PHP:mb_language()関数

mb_language()関数は、現在の言語を設定します。引数が有効な値の場合にはTRUE、有効な値でなければFALSEを返します。引数を省略した場合には、現在の言語設定を返します。

mb_language($str);

$strに設定可能な文字列
Japanese・ja:日本語(エンコード:ISO-2022-JP/Base64)
English・en:英語(エンコード:ISO-8859-1/quoted printable)
uni:UTF-8(エンコード:UTF-8/Base64)

mb_language("Japanese");

※上記の結果、言語が日本語に設定されます。
(エンコード形式にISO-2022-JP/Base64が設定されます。)

mb_send_mail()関数使用時における文字化けは、このmb_language()の設定による場合が多いです。
メール送信時に文字化けが起きる場合は、まず設定されているエンコードを確認しましょう。

print mb_language();  //現在のエンコードを出力

たとえばPHP側のエンコードが「English」になっているのにメール送信を日本語で行ったりすると文字化けが起きます。この場合、PHPファイル内でmb_send_mail()関数の実行前に、

mb_language("Japanese");

と設定することで、文字化けを回避できる場合があります。

投稿者 wing : 2005年12月25日 01:29

コメント