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);
