取得した半角カナがmb_convert_encodingで文字化けする
取得した文字列をUTF-8に変換する際に、文字列に半角カナが含まれていると文字化けが出てしまった。
取得した文字列の文字コードを自動判別にしていると、sjisの半角カナの場合EUCと誤判定するらしい。
$str = mb_convert_encoding($str,”UTF-8″,”AUTO”);
↓
$str = mb_convert_encoding($str,”UTF-8″,”sjis-win”);
とすると正常になった。
mb_convert_encodingで元の文字コードが分からない場合は、自動判定ではなく文字エンコーディングの判定をしてからの処理が必要になりそう。
参考-文字エンコーディングの判定