ホームページの中にCSVアップロードボタンを追加する作業を初めて行ったのですが、
アップロードするとMysqlにデータは入るものの、
日本語が文字化けしてしまいます。
$buffer = mb_convert_encoding($file_name,"utf-8","sjis-win");に問題があるのかと
色々やって見たのですが、やはり日本語が文字化けしてしまいます。
ソースを見ていただき、不適切なところがをご指摘いただけないでしょうか。
どうぞよろしくお願いいたします。
f (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { //一時ファイル名 list($file_name,$file_type) = explode(".",$_FILES["upfile"]["name"]); $uploadfile = "csv/bukken.".$file_type; if (move_uploaded_file($_FILES["upfile"]["tmp_name"], $uploadfile)) { //ファイルを移動 chmod($uploadfile, 0644); } else {} } else {} //アップ完了 $file_name= file_get_contents('csv/bukken.csv'); // シフトJISファイル読み込み $buffer = mb_convert_encoding($file_name,"utf-8","sjis-win"); // シフトJISからUTF-8に変換 $fp = tmpfile();//テンポラリファイルを作成する fwrite($fp, $buffer); rewind($fp); $list = array(); $cn=0; while (($data = fgetcsv($fp, 0)) !== FALSE) { //CSVデータを切り分けている for($var_cn=0;$var_cn<136;$var_cn++){ $CSV[$cn][$var_cn] = $data[$var_cn]; } $cn++; } // 開いたファイルポインタを閉じる fclose( $fp ); for($z=0;$z<$cn;$z++){ $sql=sprintf('INSERT INTO search SET id=%d, ・・・・・・・・
ありがとうございます。
日本語の文字化けは、データベースの中を確認した結果です。
あまり詳しくなくてすみません。。
Mysqlで作業をしているのですが、テーブル定義とはどのようにしたらわかりますでしょうか。
調べているところです。
>データベースの中を確認した結果です。
それを「どこでどのように」確認したのかを聞いています。
>Mysqlで作業をしているのですが、テーブル定義とはどのようにしたらわかりますでしょうか。
CREATE TABLE文が望ましいです。
「MySQL テーブル定義」で調べれば幾つでも確認方法は出てきます。
回答1件
あなたの回答
tips
プレビュー