2016-03-23 40 views
1

任何人都可以提供CSV讀取和MySQL插入的工作示例 - 全部使用utf8?無法弄清楚如何做到這一點(長時間......)。 MySQL整理所有utf8mb4_unicode_ci(數據庫,表,列)。使用MySQL插入的PHP CSV讀取(utf8)

感謝您的幫助!

<?php 
header('Content-Type: text/html; charset=UTF-8'); 
mysql_connect("localhost","root",""); 
mysql_query("SET NAMES utf8"); 
mysql_select_db("test"); 

if (!empty($_FILES['csv']['size']) && $_FILES['csv']['size'] > 0){ 

    $file = $_FILES['csv']['tmp_name']; 
    utf8_encode(fgets($file)); 
    $handle = fopen($file,"r"); 

    do { 
     if ($data){ 
      $data = array_map("utf8_encode", $data); 
      mysql_query("INSERT INTO mytable (id,text) VALUES 
      (
       '".addslashes($data[0])."','".addslashes($data[1])."' 
      )");   
     } 
    } 
    while ($data = fgetcsv($handle,1000,",","'")); 
    header('Location: index.php'); die; 
} 
?> 

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
</head> 

<body> 
<form action="index.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> 
<input name="csv" type="file" id="csv" accept-charset="utf-8"/> 
<button type=submit>UPLOAD</button> 
</form>  
</body> 
</html> 

回答

0

在這裏,我們走了。這是使用MySQL insert for utf8讀取PHP CSV的工作示例。

<?php 
header('Content-Type: text/html; charset=UTF-8'); 
mysql_connect("localhost","root",""); 
mysql_select_db("test"); 

if (!empty($_FILES['csv']['size']) && $_FILES['csv']['size'] > 0){ 

     $file = $_FILES['csv']['tmp_name']; 
     $handle = fopen($file,"r"); 
     mysql_query("SET NAMES utf8mb4"); 
     mysql_set_charset('utf8mb4'); 

     do { 
      if ($data){ 
       utf8_encode($data); 
       mb_strtolower($data[0], 'UTF-8'); 
       mb_strtolower($data[1], 'UTF-8'); 

       mysql_query("INSERT INTO mytable (id,text) VALUES 
       (
        '".addslashes($data[0])."','".addslashes($data[1])."' 
       )");   
      } 
     } 
     while ($data = fgetcsv($handle,1000,",","'")); 
     header('Location: index.php'); die; 
} 
?> 

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
</head> 

<body> 
    <form action="index.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> 
    <input name="csv" type="file" id="csv" accept-charset="utf-8"/> 
    <button type=submit>UPLOAD</button> 
</form>  
</body> 
</html>