[サンプル]PHPでにUTF-8で4バイト文字を検出する方法
スポンサーリンク
CSVアップロードでUTF-8の4バイト文字がはねられてどこかわからない問題があったので、作った即席スクリプト。
行数と対象の文字が入っている前後をダンプします。
<?php
$file_handler = fopen("******.csv", "r");
$line = 1;
while($data = fgetcsv($file_handler)){
foreach ($data as $item){
$output = preg_split('//u', $item, -1, PREG_SPLIT_NO_EMPTY);
foreach ($output as $k){
if(preg_match('/[\xF0-\xF7][\x80-\xBF][\x80-\xBF][\x80-\xBF]/', $k)){
echo $k;
var_dump($output);
echo $line;
}
}
}
$line ++;
}
fclose($file_handler);