たつ回答ポイント なしウォッチ

php+mysqlで

CSVをMYSQLに取り込もうとしたのですが、文字化けをしてしまいます。
1.CSVファイル選択
2.アップロードして、fgetcsvでデータを読む
3.そのデータを insetinto(…)valus…
4.MYSQL登録する。

PHPはUTF-8で、CSVはsjisで改行は入っています。
文字化けを防ぐ方法として、何か対策を教えて欲しいです。
あと、2行目以降から読みたいのですがなにか方法があればあわせてお願いします。
while (($field = fgetcsv($fp)) !== FALSE) {
for ($i=0; $i<count($field); $i++){
if ($field[$i] == "" || NULL) {
$field[$i] = "''";
}else{
$field[$i] = "'" . $field[$i] . "'";
}
}
}
$sql = "insert into テーブル名 (フィールド名,フィールド名,フィールド名,フィールド名,フィールド名,フィールド名,フィールド名,フィールド名) values ('" . 取り込み日 . "',". $field[0] . ", " . $field[1] . ", ". $field[2] . ", " . $field[3] . ", ". $field[4] . ", ". $field[5] .", '". $upname ."')";
$re = mysql_query($sql) or die($sql . '<br />' . mysql_error() . '<br>');
echo mysql_affected_rows(). "行データを追加しました<br>";
}

ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2011-10-05 17:39:55
終了日時
2011-10-12 17:40:03
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

MySQL2612SQL1319SJIS223PHP7798CSV1025UTF-8628文字化け1005アップロード1578

人気の質問

メニュー

PC版