PHPのiconv()関数で文字列を指定した文字エンコードに変換する方法
PHPのiconv()関数は、文字列を要求された文字エンコーディングに変換するために使用される関数です。対象の文字列の文字セットを、$from_encoding(変換元)から$to_encoding(変換先)へと変換します。
構文
string iconv(str $from_encoding, str $to_encoding, str $string)
パラメータ
iconv()関数は、次の3つのパラメータを受け取ります:$from_encoding、$to_encoding、$stringです。
$from_encoding − 入力側の文字セット(変換元のエンコーディング)を指定します。
$to_encoding − 出力側の文字セット(変換先のエンコーディング)を指定します。末尾に「//TRANSLIT」を付加すると変換できない文字を近似文字に置き換え、「//IGNORE」を付加すると変換できない文字を破棄することができます。
$string − 変換対象となる文字列です。
戻り値
変換に成功した場合は変換後の文字列を返し、失敗した場合はfalseを返します。
例1
<pre>
<?php
// ドル記号を含む文字列を変換
$text = "the Dollar symbol '$'";
echo 'Original:', $text, PHP_EOL;
echo 'TRANSLIT: ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
echo 'IGNORE: ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>
</pre>
出力
Original:the Dollar symbol '$' TRANSLIT: the Dollar symbol '$' IGNORE: the Dollar symbol '$'
例2
<pre>
<?php
// インド・ルピー記号を含む文字列を変換
$string = "Indian Rupees '?'";
echo 'Original: ', $string, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1", $string), PHP_EOL;
echo 'IGNORE: ', iconv("UTF-8", "ISO-8859-1", $string), PHP_EOL;
?>
</pre>
出力
Original: Indian Rupees '?' TRANSLIT: Indian Rupees '?' IGNORE: Indian Rupees '?'
まとめ
このようにiconv()関数を使えば、文字列の文字エンコーディングを簡単に変換できます。なお、マルチバイト文字列の変換にはmb_convert_encoding()関数も利用でき、特に日本語などのマルチバイト文字を扱う場合にはこちらが選ばれることも多いので、用途に応じて使い分けるとよいでしょう。
-
PHPで文字列をブール値(boolean)に変換する方法
PHPで文字列をブール値(boolean)に変換するには、filter_var()関数にFILTER_VALIDATE_BOOLEANフィルターを指定します。このフィルターを使えば、「1」「true」「on」「yes」など真偽値として解釈できる文字列を、適切にtrueまたはfalseへ変換できます。 filter_var()を使った変換例 以下は、日付文字列に対してFILTER_VALIDATE_BOOLEANを適用した例です。 <?php echo 日曜日を週の最初の日として表示します...\n; &n
-
Javaで文字列を文字配列(char配列)に変換する2つの方法を徹底解説
Javaでは、String型の文字列を文字配列(char[])に変換する方法が主に2つあります。ひとつは各文字を1つずつ配列にコピーする方法、もうひとつはtoCharArray()メソッドを使う方法です。それぞれの手順とサンプルコードを詳しく見ていきましょう。 方法1:charAt()メソッドで各文字をコピーする StringクラスのcharAt()メソッドは、指定した位置にある文字を返します。このメソッドを利用して、文字列の各文字を順番に配列へ格納していきます。 手順 変換対象の文字列を取得します。 文字列と同じ長さの空のchar配列を作成します。 charAt()メソッドを使って、文字列