Heim Backend-Entwicklung PHP-Tutorial php读取excel文件,输出的值乱码解决方法

php读取excel文件,输出的值乱码解决方法

Jun 13, 2016 am 10:16 AM
data quot

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>
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

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

Welche Daten befinden sich im Datenordner? Welche Daten befinden sich im Datenordner? May 05, 2023 pm 04:30 PM

Der Datenordner enthält System- und Programmdaten, wie z. B. Softwareeinstellungen und Installationspakete. Jeder Ordner im Datenordner stellt einen anderen Typ von Datenspeicherordner dar, unabhängig davon, ob sich die Datendatei auf den Dateinamen „Data“ oder die Dateierweiterung „Benannte Daten“ bezieht Es handelt sich bei allen um vom System oder Programm angepasste Datendateien. Daten sind eine Sicherungsdatei zur Datenspeicherung, die im Allgemeinen mit Meidaplayer, Notepad oder Word geöffnet werden kann.

Was tun, wenn die MySQL-Ladedaten verstümmelt sind? Was tun, wenn die MySQL-Ladedaten verstümmelt sind? Feb 16, 2023 am 10:37 AM

Die Lösung für die verstümmelten MySQL-Ladedaten: 1. Suchen Sie die SQL-Anweisung mit verstümmelten Zeichen. 2. Ändern Sie die Anweisung in „LOAD DATA LOCAL INFILE „employee.txt“ INTO TABLE EMPLOYEE Zeichensatz utf8;“.

Was sind die Unterschiede zwischen xdata und data Was sind die Unterschiede zwischen xdata und data Dec 11, 2023 am 11:30 AM

Die Unterschiede sind: 1. xdata bezieht sich normalerweise auf unabhängige Variablen, während sich data auf den gesamten Datensatz bezieht. 2. xdata wird hauptsächlich zum Erstellen von Datenanalysemodellen verwendet, während Daten normalerweise für Datenanalysen und Statistiken verwendet werden Für die Regressionsanalyse, Varianzanalyse und Vorhersagemodellierung können Daten mit verschiedenen statistischen Methoden analysiert werden. 4. xdata erfordert normalerweise eine Datenvorverarbeitung und Daten können vollständige Originaldaten enthalten.

Mehr Retouren als Verkäufe: Der Humane Ai Pin entwickelt sich zu einer kommerziellen Katastrophe Mehr Retouren als Verkäufe: Der Humane Ai Pin entwickelt sich zu einer kommerziellen Katastrophe Aug 08, 2024 pm 01:14 PM

Kurz nach der Einführung des Humane Ai Pin ergaben vernichtende Kritiken, dass das KI-Gadget alles andere als marktreif sei, da die meisten der ursprünglich beworbenen Funktionen entweder nicht richtig funktionierten oder einfach fehlten, ebenso wie die Akkulaufzeit

Können Daten in der Vue-Komponente keine Funktion sein? Können Daten in der Vue-Komponente keine Funktion sein? Dec 19, 2022 pm 05:22 PM

Nein, Daten in der Vue-Komponente müssen eine Funktion sein. Um die Wiederverwendung von Daten zu verhindern, werden Komponenten in Vue als Funktionen definiert. Die Daten in der Vue-Komponente sollten voneinander isoliert sein und sich nicht gegenseitig beeinflussen. Bei jeder Wiederverwendung der Komponente sollten die Datendaten einmal kopiert werden. Andere Daten werden kopiert. Wenn die Daten der wiederverwendeten lokalen Komponenten nicht betroffen sind, müssen Sie über die Datenfunktion ein Objekt als Status der Komponente zurückgeben.

Die Misserfolgsquote bei KI-Projekten liegt bei über 80 % – die Studie nennt eine schlechte Problemerkennung und einen Fokus auf die neuesten Technologietrends unter den Hauptproblemen Die Misserfolgsquote bei KI-Projekten liegt bei über 80 % – die Studie nennt eine schlechte Problemerkennung und einen Fokus auf die neuesten Technologietrends unter den Hauptproblemen Aug 31, 2024 am 12:59 AM

Jeder und seine Tante scheinen auf der Suche nach überhöhten Gewinnspannen und einem Marketing-Hype auf den KI-Zug aufzuspringen – schauen Sie sich nur AMDs jüngstes Ryzen-Rebranding als Paradebeispiel für diesen KI-Hype an. Das hat eine aktuelle Studie von RAND herausgefunden

MySQL schreibt verrückte Fehlerprotokolle MySQL schreibt verrückte Fehlerprotokolle Feb 18, 2024 pm 05:00 PM

Eine Kerngeschäftsdatenbank, die Version ist MySQL8.34 Community Server Edition. Seit seiner Einführung ist das Fehlerprotokoll dieses Datenbankservers sehr schnell gestiegen (wie in der Abbildung unten dargestellt) und kann alle 24 Stunden eine Kapazität von mehr als 10 G erreichen. Da ein Störungsalarm vorlag und der normale Zugang zum Betrieb nicht beeinträchtigt war, durfte das zuständige Personal den MySQL-Dienst nicht neu starten. Angesichts dieser Situation musste ich eine automatische geplante Aufgabe einrichten, um diese Protokolle jede Nacht zu einer festen Zeit zu bereinigen. Führen Sie für bestimmte Vorgänge „crontab -e“ in der Systembefehlszeile aus und fügen Sie die folgende Textzeile hinzu: 0001***echo>/data/mysql8/data/mysql_db/mysql.log Speichern Sie und verlassen Sie den Bearbeitungsmodus

See all articles