我正在尝试使用以下代码将csv文件上传到mySQL:
if(isset($_POST["submit"]))
{
header('Content-Type: text/html; charset=utf-8');
$ftype = $_FILES['file']['type'];
if($ftype == "application/vnd.ms-excel" || $ftype == "APPLICATION/VND.MS-EXCEL"){
$file = $_FILES['file']['tmp_name'];
$handle = fopen("$file", "r");
$c = 0;
while(($filesop = fgetcsv($handle, 1000, ",")) !== false)
{
htmlspecialchars($filesop, ENT_NOQUOTES, "UTF-8");
$fname = $filesop[0];
$lname = $filesop[1];
$famif = $filesop[2];
$lnmvb = $filesop[3];
$sql = mysql_query("insert into Alfon (Name,phone,Address,House,Identification) values ('$fname','$lname','$famif','$lnmvb','')");
$c = $c + 1;
}
if($sql){
echo "הקובץ הועלה בהצלחה
$fname
$lname
$famif
$lnmvb
$file
";
}
else
{
echo "שגיאה! אנא פרמט לסוג הקובץ הנכון.";
}
} else { echo "שגיאה בפורמט הקובץ $ftype";}
}
?>
<!DOCTYPE html>
<title>ספר טלפונים דיגיטלי</title>
<body>
<form enctype="multipart/form-data" accept-charset="utf-8" method="post" role="form">
<div class="form-group">
<label for="exampleInputFile">File Upload</label>
<input type="file" name="file" id="file" size="150" accept-charset="utf-8">
<p class="help-block">Only Excel/CSV File Import.</p>
</div>
<button type="submit" class="btn btn-default" name="submit" value="submit">Upload</button>
</form>
</body>
</html>
问题在于,数据会转到希伯来语文本以外的其他数据库,而希伯来语文本变成了问号(?), 您可以怎么做才能将文本编码为希伯来语? 如果您回答我的问题并为我提供帮助,我将非常感谢!
(我想强调的是,英文或数字文本确实可以存储到有效的数据库中,只有希伯来语文本出错了...)
答案 0 :(得分:0)
使用LOAD DATA INFILE
,并确保包含CHARACTER SET utf8mb4
。
也就是说,您可以丢弃该PHP代码的全部,而用此一个MySQL命令代替。