« PHP:mb_detect_encoding()関数 | メイン | PHP:mb_convert_kana()関数 »
2006年01月12日
PHP:mb_convert_encoding()関数
mb_convert_encoding()関数は、指定文字列の文字エンコーディングを変換します。失敗した場合にはFALSEを返します。
mb_convert_encoding($str, $code_after[, $code_before]);
$str:変換対象の文字列
$code_after:変換後の文字エンコーディング
$code_before:変換前の文字エンコーディング
print mb_convert_encoding("プログラム", "EUC-JP", "JIS,UTF-8");
//JIS、UTF-8の順で現在の文字エンコーディングを検出後、EUC-JPに変換して出力します。
※mb_convert_encoding()関数は、フォームデータの送受信の際などによく使用します。
■ 使用例
フォームデータ送信元のエンコードがSJIS、フォームデータ受信先がEUC-JPを使用したPHPプログラムの場合
form.html(フォームデータ送信元、SJIS)
<form action="test.php" method="post">
<input type="hidden" name="username" value="山田">
<input type="submit" name="Submit" value="送信">
</form>
test.php(フォームデータ受信先、EUC-JP)
<?php
$username = $_POST['username'];
mb_convert_encoding($username, "EUC-JP", "SJIS");
print $username;
?>
※上記の結果、フォームから送られた値は「山田」と出力されます。
※mb_convert_encoding()関数でエンコーディングを変換しないと、文字化けが起こります。
投稿者 wing : 2006年01月12日 00:02