我有一段php代码,可以将mysql中的数据导出到excel中。甚至使用
utf-8字符集,波斯语(阿拉伯语)保存怪异,他们不可识别。
如果你能帮助我,我将不胜感激。

<?php

$con=mysqli_connect("localhost","root","","myDB");
$SQL = mysqli_query($con,"SELECT * FROM view1");

$header = '';
$result ='';
$exportData = mysql_query ($SQL ) or die ( "Sql error : " . mysql_error( ) );

$fields = mysql_num_fields ( $exportData );

for ( $i = 0; $i < $fields; $i++ )
{
    $header .= mysql_field_name( $exportData , $i ) . "\t";
}

while( $row = mysql_fetch_row( $exportData ) )
{
    $line = '';
    foreach( $row as $value )
    {
        if ( ( !isset( $value ) ) || ( $value == "" ) )
        {
            $value = "\t";
        }
        else
        {
            $value = str_replace( '"' , '""' , $value );
            $value = '"' . $value . '"' . "\t";
        }
        $line .= $value;
    }
    $result .= trim( $line ) . "\n";
}
$result = str_replace( "\r" , "" , $result );

if ( $result == "" )
{
    $result = "\nNo Record(s) Found!\n";
}

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=export.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$result";

?>

最佳答案

Php本机对此的支持不是很好。
你试过吗?
包括('php-gd-farsi-master/FarsiGD.php');
$gd=新FarsiGD();
//创建300x100图像
$im=图像创建真彩色(300,100);
$red=图像颜色分配($im,0xFF,0x00,0x00);
$black=图像颜色分配($im,0x00,0x00,0x00);
//使背景变红
imagefilledrectangle($im,0,0,299,99,$red);
//ttf字体文件的路径
//$font U file='./Vera.ttf';
$font U file='./cour.ttf';
//使用字体大小13绘制文本“PHP手册”
$text=图像创建真彩色(200,60);
imagefilledrectangle($text,0,0,200,60,$red);
$str='**ماه**';
$tx=$gd->persianText($str,'fa','normal');
imagefttext($text,24,10,10,50,$black,$font_file,$tx);
$im=$text;
//将图像输出到浏览器
header('Content-Type:image/png');
图片PNG($im);
图像销毁($im);

关于php - PHP使用UTF8导出到Excel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35155435/

10-13 06:01