« 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

コメント