php读取excel文件,输出的值乱码解决方法
php读取excel文件,输出的值乱码
$handle = fopen("./home.csv","r");
while($items = fgetcsv($handle,1000)){
foreach($items as $k=>$v){
$v = iconv('gb2312','utf-8',$v);
var_dump($v);
}
}
------解决方案--------------------
明白了,你说的是这个问题
这是 php5.3 的一个BUG,php5.2 是正常的
你得换个方法解决了
------解决方案--------------------
- PHP code
$fname = $_FILES['MyFile']['tmp_name'];//获取上传的CSV文件 $handle=fopen("$fname","r");//打开文件 //判断导入文件类型是否为csv //如果为csv继续执行 if($_FILES['MyFile']['type'] !='application/vnd.ms-excel') { if($_FILES['MyFile']['type'] != 'text/comma-separated-values') { echo "<script>alert('您上传的文件类型不符,请重新上传');window.location='subHotel_import.php';</script>";exit(); } } $num = 1; $total_num = 100;//设置每次添加的数据条数 //删除表中原有数据 $db->query("delete from hotel_activities_2"); //打开导入的csv //循环添加到表中 while(!feof($handle)) { $content = fgets($handle); $data = preg_split("/,/",$content); if($data[0] =='') { continue; } $subHotel_id = preg_replace('/[^0-9]/','',$data[0]); $subHotel_type= (int)preg_replace('/[^0-9]/','',$data[4]); if($num == $total_num ) { $num=1; $values .= " ($subHotel_id,'".$data[1]."','".$data[2]."','".$data[3]."',$subHotel_type),"; $values = rtrim($values,','); $sql ="insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values " .$values; $aaa = $db->query($sql); $values =''; } else { $values .= " ($subHotel_id,'".$data[1]."','".$data[2]."','".$data[3]."',$subHotel_type),"; $num++; } } if(mysql_error!==1){ $values = rtrim($values,','); $sql ="insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values " .$values; $db->query($sql); echo "<script>alert('导入成功!!!');window.location='subHotel_query_file.php';</script>"; }else { echo "<script>alert('导入失败!!!');window.location='subHotel_import.php';</script>"; } fclose($handle);<br><font color="#e78608">------解决方案--------------------</font><br>在 csv 格式标准中:字符串是需要用双引号括起的,但微软的工具软件却偏偏不加这个双引号<br>在 php5.3 以前的版本中,php 也认同这种做法<br>但自 php5.3 起,微软摆出了不合作姿态,于是 fgetcsv 也就残废了<br><font color="#e78608">------解决方案--------------------</font><br>读取excel数据要用到一个插件,直接这样读取肯定是不行的。<br>下面这个是将ecxcel数据读取到数据库的方法:<br>7.$handle = fopen (”test.csv”,”r”); <br>8.$sql=”insert into scores(idcard,names ,num,sex,nation,score) values(’”; <br>9.while ($data = fgetcsv ($handle, 1000, “,”)) { <br>10.$num = count ($data); <br>11.for ($c=0; $c 12.if($c==$num-1){$sql=$sql.$data[$c].”‘)”;break;} <br>13.$sql=$sql.$data[$c].”‘,’”; <br>14.} <br>15.print “”; <br>16.echo $sql.””; <br>17.$db->query($sql); <br>18.echo “SQL语句执行成功!”; <br>19.$sql=”insert into scores(idcard,names ,num,sex,nation,score) values(’”; <br>20.} <br>21.fclose ($handle); <br>22.$time_end = getmicrotime();<div class="clear"> </div>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

data資料夾裡面是系統及程式的數據,例如軟體的設定和安裝包等,Data資料夾中各個資料夾則代表的是不同類型的資料存放資料夾,無論Data資料指的是檔案名稱Data還是擴充名data,都是系統或程式自訂的資料文件,Data是資料保存的備份類別文件,一般可以用meidaplayer、記事本或word開啟。

mysql load data亂碼的解決方法:1、找到出現亂碼的SQL語句;2、修改語句為「LOAD DATA LOCAL INFILE "employee.txt" INTO TABLE EMPLOYEE character set utf8;」即可。

差異有:1、xdata通常指的是自變量,data則指整個資料集;2、xdata主要用於建立資料分析模型,data則用於進行資料分析與統計;3、xdata通常用於迴歸分析、變異數分析、預測建模,data則可使用各種統計方法進行分析;4、xdata通常需要進行資料預處理,data則可以包含完整的原始資料。

人性化的AI Pin推出後不久,嚴厲的評論顯示,這款AI小工具還沒有做好上市的準備,因為最初宣傳的大多數功能要么無法正常工作,要么根本就缺失,電池壽命也很短。

不是,vue元件中data必須是一個函數。 vue中元件是用來重複使用的,為了防止data重複使用,將其定義為函數。 vue元件中的data資料都應該是互相隔離,互不影響的,元件每復用一次,data資料就應該被複製一次,之後,當某一處複用的地方元件內data資料被改變時,其他重複使用地方元件的data資料不受影響,就需要透過data函數傳回一個物件作為元件的狀態。

每個人和他們的阿姨似乎都在跳上人工智慧列車,尋找虛高的利潤率和行銷炒作——看看 AMD 最近的 Ryzen 品牌重塑就是這種人工智慧炒作的一個典型例子。蘭德公司最近進行的一項研究發現,

一台核心業務資料庫,版本為MySQL8.34社群伺服器版。從上線以來,這個資料庫伺服器的錯誤日誌增加非常迅猛(如下圖),每24小時能增加到10多個G的容量。因為有故障警報,也還沒有影響到業務的正常訪問,有關人員不讓重啟MySQL服務。鑑於這個情況,我只好設定一個自動規劃任務,在每晚的夜間定點清理這些日誌。具體的操作時候在系統命令行,執行“crontab-e”,添加如下的文字行:0001***echo>/data/mysql8/data/mysql_db/mysql.log儲存並退出編輯模式
