【PHP】SJISからUTF8に文字コード変換する際の文字化けを防ぐ。

Excelで生成したCSVファイルをPHPで取り込む際、下記のようにSJISからUTF8の文字コード変換を行うが、その際「チルダ」や「全角ハイフン」が正しく認識されない事がある。

$str = mb_convert_encoding($str, mb_internal_encoding(), 'SJIS');

そのため、mb_convert_encoding()第3引数のfrom_encodingを下記のように指定してやる必要がある。

$str = mb_convert_encoding($str, mb_internal_encoding(), 'SJIS-WIN');

上記の通り文字コードを指定した結果、文字化けは綺麗に解消された。

nbsp;