如何在名为FPDI的php库中设置UTF-8编码?
这是图书馆:https://www.setasign.com/products/fpdi/manual/
守则:
$pdf=new Fpdi();
$pdf->;AddPage();
$pdf->;setSourceFile('PdfDocument.pdf');
$tplIdx=$pdf->;进口页(1);
$pdf->;useTemplate($tplIdx,10,10100);
$pdf->;SetFont(“Helvetica”);
$pdf->;SetTextColor(255,0,0);
$pdf->;SetXY(30,30);
$pdf->;写(0,'Zażółcićgęśląjaźňňňňňňňňň32;
$pdf->;输出();
您可以添加带有正确字母的新字体
$pdf->;AddFont('DejaVu','','DejaVuSansCondensed.php');
$pdf->;SetFont('DejaVu','',10',,false);
然后关于FPDI
使用的FPDF
库:
可能的编码有:
cp1250(中欧)
cp1251(西里尔文)
cp1252(西欧)
cp1253(希腊文)
cp1254(土耳其语)
cp1255(希伯来语)
cp1257(波罗的海)
cp1258(越南语)
cp874(泰语)
ISO-8859-1(西欧)
ISO-8859-2(中欧)
ISO-8859-4(波罗的海)
ISO-8859-5(西里尔文)
ISO-8859-7(希腊语)
ISO-8859-9(土耳其语)
ISO-8859-11(泰语)
ISO-8859-15(西欧)
ISO-8859-16(中欧)
KOI8-R(俄语)
KOI8-U(乌克兰)
发送到pdf的字符串是UTF-8格式(由mb\u detect\u encoding
函数检查),需要使用cp1250进行转换
$str=iconv('UTF-8'、'cp1250'、'zazócićgęląjaź');
另一个解决方案是尝试使用:
$pdf->;SetFont('freeserif','',14',,true);
更新PRO提示:
如果字体出现问题,请首先检查linux服务器上是否安装了字体