2010年6月24日木曜日

PHPで気づいた事

fgetcsv関数

utf8のcsvファイルを読み込んだら、最初の一文字が正しく認識出来ない場合があり(石・芦など)があるようで文字化けする。


if (($handle = fopen("$F_PATH", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "
$num fields in line $row:
\n";
$row++;

for ($c=0; $c < $num; $c++) {
echo $pieces[$c].":";
}
echo "
\n";
}
fclose($handle);
}

fgetsしてexplode関数で対処

if (($handle = fopen("$F_PATH", "r")) !== FALSE) {
# while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
while (($data = fgets($handle,1000)) !== FALSE) {
$pieces = explode(",", $data);
# $num = count($data);
$num = count($pieces);
echo " $num fields in line $row:
\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $pieces[$c].":";
}
echo "
\n";
}
fclose($handle);
}

0 件のコメント:

コメントを投稿