こんにちは、低頻度の開発備忘録です(笑)
今回は、SJISのファイルを読み込んだときの文字化けの対処法についてです。
CSVなど、文字コードがSJISになっているファイルをPHPで読み込むと、気をつけないと特殊文字が「?」とかに文字化けしてしまいます。
ここで言う特殊文字とは、
・髙
・﨑
・彅
など名前に入っているものや、
・①②③~
・ⅠⅡⅢ~、ⅰⅱⅲ~などのローマ数字
・㈱
などがあげられます。
そういうときはSJISではなくSJIS-winを使うと無事に読み込むことができました。
例)こんな感じで使用
$file = file($file_path);
mb_convert_variables('UTF-8', 'SJIS-win', $file); //配列まるごとUTF-8に変換
SJIS-winはMicrosoftが拡張したShift-JISなので、普通のSJISより扱える文字が多いみたいです。
基本的にこちらのSJIS-winを使うようにすれば大丈夫そうですね。
簡単にメモ書きでした。
今回は、SJISのファイルを読み込んだときの文字化けの対処法についてです。
|
ここで言う特殊文字とは、
・髙
・﨑
・彅
など名前に入っているものや、
・①②③~
・ⅠⅡⅢ~、ⅰⅱⅲ~などのローマ数字
・㈱
などがあげられます。
そういうときはSJISではなくSJIS-winを使うと無事に読み込むことができました。
例)こんな感じで使用
$file = file($file_path);
mb_convert_variables('UTF-8', 'SJIS-win', $file); //配列まるごとUTF-8に変換
SJIS-winはMicrosoftが拡張したShift-JISなので、普通のSJISより扱える文字が多いみたいです。
基本的にこちらのSJIS-winを使うようにすれば大丈夫そうですね。
簡単にメモ書きでした。