PHPで文字コードを変換する
PHPで文字エンコーディングを変換する方法。
例えばデータベースはUTF-8で保存されていて、取ってきたデータをSJISのCSVで出力したい場合など。
文字列を変換する場合はmb_convert_encoding()
を使います。
内容 | |
---|---|
第1引数 | 変換する文字列 |
第2引数 | 変換後の文字エンコーディング |
第3引数 | 変換前の文字エンコーディング 省略した場合は内部文字エンコーディングが使用されます |
戻り値 | 変換後の文字列 |
// SJIS に変換.
$str = mb_convert_encoding($str, "SJIS");
// UTF-8 から SJIS に変換.
$str = mb_convert_encoding($str, "SJIS", "UTF-8");
配列やオブジェクトを変換する場合はmb_convert_variables()
を使用します。
内容 | |
---|---|
第1引数 | 変換後の文字エンコーディング |
第2引数 | 変換前の文字エンコーディング |
第3引数 | 変換する配列やオブジェクト |
戻り値 | 成功時は変換前の文字エンコーディング 失敗は false を返します |
// UTF-8 から SJIS に変換.
$result = mb_convert_variables('SJIS', 'UTF-8', $vars);