対象文字列が文字化けしているかどうか条件分岐。日本語が含まれているかどうかの判定?
文字化けしている文字列かどうか条件分岐する方法はありますか?
・本来であれば文字エンコーディングを調整すべきだと思うのですが、調整できないという前提で…
・日本語が含まれているかどうか判定すれば良い?
・どうやって???
文字化け例
・ã»ã¯ã¬ã¸ããã«ã¼ã
・ちなみに、この文字化けはどういう原因かこれだけから推測可能ですか?
2017/5/9追記
・別の所で取得したデータが一箇所に集められていて、どういう状況で取得したか分からない
・その中で一部の文字だけが「文字化け」しているかもしれない
・この時、「文字化け」している文字が混ざっているかどうか判定する方法はあるでしょうか?
$str = 'ã»ã¯ã¬ã¸ããã«ã¼ã';
$encAry = [
'UTF-8',
'UTF-7',
'ASCII',
'EUC-JP',
'eucJP-win',
'SJIS',
'SJIS-win',
'JIS',
'ISO-2022-JP',
'Unicode',
];
foreach ($encAry as $val) {
var_dump(mb_check_encoding($str, $val));
}
// bool(true)
// bool(false)
// bool(false)
// bool(true)
// bool(true)
// bool(true)
// bool(true)
// bool(false)
// bool(false)
// bool(true)