رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل با حروف فارسی در خروجی اکسل
#1
سلام 
دوستان برای نمایش صحیح کاراکترهای فارسی در خروجی اکسل در انجمن ها گفته شده که "اول فایل اکسلتون کاراکترهای BOM رو درج کنید تا UTF-8 بشه." ، اما من متوجه نشدم در کدام قسمت و به چه شکل باید اضافه بشه،
کاراکترهای BOM :
xEFxBBxBF

 این کدهای بنده :
mysqli_set_charset($conn, 'utf8');
$setSql = "SELECT `w_id`, `w_time`, `w_date_gorge`, `w_from`, `w_sum` FROM `whatsapp`";  
$setRec = mysqli_query($conn, $setSql);  
 
$columnHeader = '';  
$columnHeader = "ID" . "t" . "Time" . "t" . "Date" . "t" . "Seller" . "t" . "Sumation" . "t";  
 
$setData = '';  
 
while ($rec = mysqli_fetch_row($setRec)) {  
   $rowData = '';  
   foreach ($rec as $value) {  
       $value = '"' . $value . '"' . "t";  
       $rowData .= $value;  
   }  
   $setData .= trim($rowData) . "n";  
}  
 
header("Content-type: application/octet-stream");  
header("Content-Disposition: attachment; filename=User-2.xls");  
header('Content-Transfer-Encoding: binary');
header("Pragma: no-cache");  
header("Expires: 0");  

echo chr(255).chr(254).iconv("UTF-8", "UTF-16LE//IGNORE", $columnHeader . "n" . $setData . "n");

exit();
پاسخ
تشکر شده توسط:
#2
قبل از دستور echo انتهای کدتون بگذارین با یک echo دیگه.
پاسخ
تشکر شده توسط: پیام حیاتی
#3
(21-05-1399، 11:03 ق.ظ)ADMIN نوشته: قبل از دستور echo انتهای کدتون بگذارین با یک echo دیگه.

به دو حالت زیر استفاده کردم اما جواب نداد :

echo "xEFxBBxBF";
echo chr(255).chr(254).iconv("UTF-8", "UTF-16LE//IGNORE", $columnHeader . "n" . $setData . "n");

echo "xEFxBBxBF";
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان