将PDF另存为阿拉伯名称(PHP)

时间:2016-11-16 05:18:18

标签: php mysql mysqli pdf-generation

美好的一天!

我将PDF保存为英文名称_员工编号,即abc_123

但它不适用于阿拉伯名字_员工编号

我已经尝试了各种方式,如meta charset或meta-equip,或者在标题或php文件顶部或查询meta charset等之前添加所有内容。

请指南

我正在尝试下面给出的代码:

 mysqli_query($connection,"SET character_set_client=utf8");

      $emp_number =($_POST['emp_number']);
      $owner_name =($_POST['owner_name']);
      $result110= mysqli_query($connection,"SELECT * FROM accessories where emp_number='".$emp_number."'");
    while($row19 = mysqli_fetch_assoc($result110))  
  { 
    $pdf->SetFont('aealarabiya', '', 15);
    $pdf->Output($row19['owner_name'].'_'.$row19['emp_number'].'.pdf', 'D');
}

以上代码适用于英文名称,但不适用于阿拉伯语。它显示__eloymumber用于阿拉伯语名称,如__1234.pdf

请指导

由于

1 个答案:

答案 0 :(得分:0)

假设您正在使用TCPDF库,如果您检查输出功能的TCPDF类的源代码,您可以看到使用正则表达式清理文件名。

if ($dest[0] != 'F') {
    $name = preg_replace('/[\s]+/', '_', $name);
    $name = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $name);
}

读取消毒的条件,并从函数的doc块中,你可以使用FD:相当于F + D选项

输出线变为:

$pdf->Output($row19['owner_name'].'_'.$row19['emp_number'].'.pdf', 'FD');