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();

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











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

데이터 폴더에는 소프트웨어 설정 및 설치 패키지와 같은 시스템 및 프로그램 데이터가 포함되어 있습니다. 데이터 폴더의 각 폴더는 데이터 파일이 파일 이름인 Data 또는 명명된 데이터를 참조하는지 여부에 관계없이 다양한 유형의 데이터 저장 폴더를 나타냅니다. , 모두 시스템이나 프로그램에 의해 사용자 정의된 데이터 파일입니다. 데이터는 데이터 저장을 위한 백업 파일입니다. 일반적으로 meidaplayer, 메모장 또는 워드로 열 수 있습니다.

잘못된 mysql 로드 데이터에 대한 해결 방법: 1. 잘못된 문자가 있는 SQL 문을 찾습니다. 2. 문을 "LOAD DATA LOCAL INFILE "employee.txt" INTO TABLE EMPLOYEE 문자 집합 utf8;"으로 수정합니다.

차이점은 다음과 같습니다. 1. xdata는 일반적으로 독립변수를 나타내고, data는 전체 데이터 세트를 나타냅니다. 2. xdata는 주로 데이터 분석 모델을 구축하는 데 사용되는 반면, data는 데이터 분석 및 통계에 사용됩니다. 회귀 분석, 분산 분석, 예측 모델링의 경우 다양한 통계 방법을 사용하여 데이터를 분석할 수 있습니다. 4. xdata는 일반적으로 데이터 전처리가 필요하며 데이터에는 완전한 원본 데이터가 포함될 수 있습니다.

Humane Ai Pin이 출시된 직후, 원래 광고된 기능의 대부분이 제대로 작동하지 않거나 단순히 누락되었으며, 배터리 수명이 부족했기 때문에 AI 장치가 시장에 출시될 준비가 전혀 되어 있지 않다는 신랄한 리뷰가 나왔습니다.

모든 사람과 그들의 이모는 부풀려진 이익 마진과 마케팅 과대 광고를 찾아 AI 열차에 뛰어드는 것 같습니다. 이러한 AI 과대 광고의 대표적인 예로 AMD의 최근 Ryzen 리브랜딩을 살펴보세요. RAND가 실시한 최근 연구에서는 다음과 같은 사실이 밝혀졌습니다.

핵심 비즈니스 데이터베이스인 버전은 MySQL8.34 Community Server Edition입니다. 이 데이터베이스 서버의 오류 로그는 출시 이후 매우 빠르게 증가하여(아래 그림 참조) 24시간마다 10G 이상의 용량으로 증가했습니다. 장애알람이 발생하였고, 정상적인 업무접근에는 지장이 없었기 때문에 관련 인력의 MySQL 서비스 재시작을 허용하지 않았습니다. 이러한 상황을 고려하여 매일 밤 정해진 시간에 이러한 로그를 정리하는 자동 예약 작업을 설정해야 했습니다. 특정 작업의 경우 시스템 명령줄에서 "crontab-e"를 실행하고 다음 텍스트 줄을 추가합니다: 0001***echo>/data/mysql8/data/mysql_db/mysql.log 저장하고 편집 모드 종료

아니요, vue 구성 요소의 데이터는 함수여야 합니다. Vue의 컴포넌트는 재사용을 위해 사용됩니다. 데이터 재사용을 방지하기 위해 함수로 정의됩니다. vue 컴포넌트의 데이터 데이터는 서로 분리되어 서로 영향을 미치지 않아야 하며, 나중에 컴포넌트의 데이터 데이터가 재사용되는 위치에 변경될 때 데이터 데이터를 한 번씩 복사해야 합니다. 다른 데이터는 복사됩니다. 재사용된 로컬 컴포넌트의 데이터 데이터가 영향을 받지 않으면 data 함수를 통해 컴포넌트의 상태로 객체를 반환해야 합니다.
