Jadual Kandungan
回复讨论(解决方案)
Rumah pembangunan bahagian belakang tutorial php php导出非乱码非乱序 奇葩问题求大神挫进来帮帮小弟

php导出非乱码非乱序 奇葩问题求大神挫进来帮帮小弟

Jun 23, 2016 pm 01:54 PM
telah habis Watak bercelaru Tuhan yang besar



上面第一个图是导出后的效果图,第二张是数据库实际数据,细心的哥们就发现导出的图后三位全部变为0,这神马情况啊

求大神指点
代码如下:

 <?phpdefine('NOROBOT', true);define('CURSCRIPT', 'charge');require_once './include/common.inc.php';header("Content-type:application/vnd.ms-excel;charset=utf-8");header("Content-Disposition:attachment;filename=充值卡.xls");$page = $page ?: 1; $results = array(); $condition = '';		  		 echo   "被充值手机号"."\t";  		 echo   "充值卡序列号"."\t";  		 echo   "充值金额"."\t"; 		 echo   "实充额度"."\t";				 echo   "充值时间"."\t";$query = $mysqli->multi_query('CALL UP_User_GetCardInfo("'.$condition.'","'.$page.'","900000")')  or die($mysqli->error);$query = $mysqli->store_result();		 while ($record = mysqli_fetch_array($query, MYSQLI_BOTH)){		$phone = $record['phone'];		$cardid = $record['cardid'];			$charge = $record['charge'];			$achieve = $record['achieve'];			$chgdate =  $record['useDate'];	 								echo   "\n"; 		echo   $phone."\t";		echo   $cardid."\t"; 		echo   $charge."\t"; 		echo   $achieve."\t"; 		echo   $chgdate."\t"; 				}if(is_object($query)) 	$query->free_result();$mysqli->next_result();   ?>
Salin selepas log masuk


回复讨论(解决方案)

没人!

用另外一种方法也是一样的效果,代码如下:

 <?php//iconv("utf8","gb2312",$v)。数据库用的UTF8,导出csv时如不转换excel打开中文将显示乱码(文本正常)require_once './include/common.inc.php';function exportToCsv($csv_data, $filename = 'export.csv') {    $csv_terminated = "\n";    $csv_separator = ",";    $csv_enclosed = '"';    $csv_escaped = "\\";    // Gets the data from the database    $schema_insert = '';    $out = '';    // Format the data    foreach ($csv_data as $row)    {        $schema_insert = '';        $fields_cnt = count($row);        //printr($row);        $tmp_str = '';        foreach($row as $v)        {            $tmp_str .= $csv_enclosed.str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, iconv("utf8","gb2312",$v)).$csv_enclosed.$csv_separator;        } // end for                $tmp_str = substr($tmp_str, 0, -1);        $schema_insert .= $tmp_str;        $out .= $schema_insert;        $out .= $csv_terminated;    } // end while    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");    header("Content-Length: " . strlen($out));    header("Content-type: text/x-csv;charset=utf-8");    header("Content-Disposition:filename=$filename");#header('Content-Disposition: attachment;filename="'.iconv('utf-8', "gb2312", $filename));    echo $out;}#$title = array("uid","username","company");#$title = $_SESSION["exp_title"];$title = array();$field = array();foreach ($_SESSION["exp_title"] as $key => $val){  $title[] = $key;  $field[] = $val;}#$query = $mysqli->query("select uid,username,phone from ccna_members limit 10") or die($mysqli->error);#$query = $mysqli->multi_query("select * from ccna_members limit 10")  or die($mysqli->error);$query = $mysqli->multi_query($_SESSION["exp_sql"])  or die($mysqli->error);$query = $mysqli->store_result();//$csv_data = array(array('uid', 'username'));//所有记录就存这啦$csv_data = array(array());//压入表头,将字段放到第一行for ($i=0; $i < count($field); $i++) {	  $csv_data[0][$i]= $field[$i];}while($row = mysqli_fetch_array($query,MYSQLI_BOTH)){	//array_push($csv_data, array($row[0],$row['username']));		$row_array = array();	for ($i=0; $i < count($title); $i++) {		#array_push($row_array,iconv("utf-8","gb2312",$row[$title[$i]]));		array_push($row_array,$row[$title[$i]]);	}	array_push($csv_data,$row_array);}exportToCsv($csv_data,$_SESSION["exp_filename"].".csv");?>
Salin selepas log masuk

echo   $cardid."\t";
改为
echo   “‘$cardid\t";

echo   $cardid."\t";
改为
echo   “‘$cardid\t";


还是一样,不行。谢谢你的回答

怎么可能,你产生的就是文本文件,只不过后缀不同罢了


我加你扣扣可以吗?

怎么可能,你产生的就是文本文件,只不过后缀不同罢了



可以我改成echo   "$cardid\t";    还是不行,不知道为什么。

 "’$cardid\t"; 
有个单引号
是也在想:字太小可能看不清

 "’$cardid\t"; 
有个单引号
是也在想:字太小可能看不清



谢谢。 结贴给分

?成字符串就可以了。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan nombor halaman perkataan yang bercelaru Bagaimana untuk menyelesaikan nombor halaman perkataan yang bercelaru Jun 25, 2023 pm 03:23 PM

Penyelesaian kepada nombor halaman perkataan yang bercelaru: 1. Buka dokumen perkataan dan klik pilihan "Fail" di sudut kiri atas 2. Pilih pilihan "Lagi", dan kemudian klik butang "Pilihan" 3. Pilih "Lanjutan"; dalam pilihan perkataan; 4. Cari "Tunjukkan kod medan dan bukannya nilai medan" dalam "Tunjukkan kandungan dokumen", alih keluar semak di hadapan, dan klik OK untuk kembali ke halaman utama.

Bagaimana untuk menyelesaikan aksara Cina yang kacau dalam Linux Bagaimana untuk menyelesaikan aksara Cina yang kacau dalam Linux Feb 21, 2024 am 10:48 AM

Masalah bercelaru Cina Linux adalah masalah biasa apabila menggunakan set aksara Cina dan pengekodan. Watak bercelaru mungkin disebabkan oleh tetapan pengekodan fail yang salah, tempat sistem tidak dipasang atau ditetapkan, dan ralat konfigurasi paparan terminal, dsb. Artikel ini akan memperkenalkan beberapa penyelesaian biasa dan memberikan contoh kod khusus. 1. Periksa tetapan pengekodan fail Gunakan arahan fail untuk melihat pengekodan fail Gunakan perintah fail dalam terminal untuk melihat pengekodan fail: nama fail-fail jika terdapat "charset".

Bagaimana untuk menyelesaikan kod tomcat startup yang kacau Bagaimana untuk menyelesaikan kod tomcat startup yang kacau Dec 26, 2023 pm 05:21 PM

Penyelesaian untuk permulaan tomcat yang kacau: 1. Ubah suai fail konfigurasi Tomcat 2. Ubah suai bahasa sistem 3. Ubah suai pengekodan tetingkap baris arahan 5. Semak pengekodan projek; fail; 7 , cuba penyelesaian lain. Pengenalan terperinci: 1. Ubah suai fail konfigurasi conf Tomcat, buka direktori conf Tomcat, cari fail "logging.properties", dsb.

Bagaimana untuk menyelesaikan masalah aksara Cina yang kacau dalam Windows 10 Bagaimana untuk menyelesaikan masalah aksara Cina yang kacau dalam Windows 10 Jan 16, 2024 pm 02:21 PM

Dalam sistem Windows 10, aksara bercelaru adalah perkara biasa. Sebab di sebalik ini selalunya ialah sistem pengendalian tidak menyediakan sokongan lalai untuk beberapa set aksara, atau terdapat ralat dalam pilihan set aksara yang ditetapkan. Untuk menetapkan ubat yang betul, kami akan menganalisis prosedur operasi sebenar secara terperinci di bawah. Bagaimana untuk menyelesaikan kod kacau Windows 10 1. Buka tetapan dan cari "Masa dan Bahasa" 2. Kemudian cari "Bahasa" 3. Cari "Urus Tetapan Bahasa" 4. Klik "Tukar Tetapan Wilayah Sistem" di sini 5. Semak seperti yang ditunjukkan dan klik Hanya pastikan.

Apa yang perlu dilakukan jika linux tty mempunyai aksara Cina yang kacau Apa yang perlu dilakukan jika linux tty mempunyai aksara Cina yang kacau Mar 16, 2023 am 09:20 AM

Penyelesaian kepada aksara Cina yang kacau dalam Linux tty: 1. Muat turun fon fbterm melalui arahan "sudo apt-get install fbterm" 2. Jalankan arahan "sudo fbterm" 3. Tukar fon dan saiz fon kepada "font-name =Ubuntu Mono font- size=14” sudah memadai.

Bagaimana untuk menyelesaikan masalah watak bercelaru dalam dokumen sistem win11 Bagaimana untuk menyelesaikan masalah watak bercelaru dalam dokumen sistem win11 Jun 29, 2023 pm 06:29 PM

Bagaimana untuk menyelesaikan masalah dokumen teks bercelaru dalam win11? Apabila ramai pengguna menggunakan sistem win11, dokumen teks bercelaru dan tidak dapat dibaca secara normal Ramai rakan tidak tahu bagaimana untuk menyelesaikan masalah ini. Sebenarnya, kaedah ini tidak sukar. Di bawah, editor telah menyusun langkah-langkah untuk menyelesaikan masalah dokumen sistem Windows 11 yang kacau. Langkah-langkah untuk menyelesaikan dokumen sistem Windows 11 yang bercelaru: 1. Mula-mula, buka panel kawalan win11, masukkan panel kawalan dalam kotak carian di bawah, dan klik Cari untuk memasuki panel kawalan. 2. Selepas memasuki panel, cari jam dan kawasan dan klik untuk masuk, kemudian klik pada pilihan kawasan. 3. Selepas memasukkan, klik pada panel pengurusan, dan kemudian klik pada Tukar tetapan wilayah sistem.

Kaedah penyuntingan untuk menyelesaikan masalah aksara bercelaru semasa membuka fail dll Kaedah penyuntingan untuk menyelesaikan masalah aksara bercelaru semasa membuka fail dll Jan 06, 2024 pm 07:53 PM

Apabila ramai pengguna menggunakan komputer, mereka akan mendapati terdapat banyak fail dengan akhiran dll, tetapi ramai pengguna tidak tahu bagaimana untuk membuka fail tersebut Pengguna yang ingin tahu, sila lihat butiran berikut Tutorial~Cara membuka dan edit fail dll: 1. Muat turun perisian yang dipanggil "exescope" dan muat turun dan pasangnya. 2. Kemudian klik kanan fail dll dan pilih "Edit sumber dengan exescope". 3. Kemudian klik "OK" dalam kotak gesaan ralat timbul. 4. Kemudian pada panel kanan, klik tanda "+" di hadapan setiap kumpulan untuk melihat kandungan yang terkandung di dalamnya. 5. Klik pada fail dll yang anda ingin lihat, kemudian klik "Fail" dan pilih "Eksport". 6. Kemudian anda boleh

Selesaikan masalah aksara bercelaru dalam pad nota win11 Selesaikan masalah aksara bercelaru dalam pad nota win11 Jan 05, 2024 pm 03:11 PM

Sesetengah rakan ingin membuka pad nota dan mendapati pad nota win11 mereka bercelaru dan tidak tahu apa yang perlu dilakukan. Sebenarnya, secara amnya kita hanya perlu mengubah suai wilayah dan bahasa. Win11 Notepad bercelaru: Langkah pertama, gunakan fungsi carian, cari dan buka "Panel Kawalan". atas Kad. Langkah keempat ialah mengklik "Tukar Tetapan Serantau Sistem" di bawah Langkah kelima ialah menukar tetapan serantau sistem semasa kepada "Bahasa Cina (Ringkas, China)" dan klik "OK" untuk menyimpan.

See all articles