FPDF中的波斯尼亚字符

时间:2018-07-23 09:12:52

标签: php fpdf

我有一个波斯尼亚字符串$ string =“ Saglasno odredbamačl.19Zakona oudruženjimai StatutaUdruženjaračunovođaiknjigovođaSrbije URIKS iz Beograda,ul。”

我使用了fpdf http://www.fpdf.org/的“写入”功能,但是所有“č”字符都变成了“è”

$pdf->Write (6, iconv('UTF-8', 'CP1250//TRANSLIT', "Saglasno odredbama čl.19 Zakona o udruženjima i Statuta Udruženja računovođa i knjigovođa Srbije URIKS iz Beograda, ul."));

我该如何解决?非常感谢!

2 个答案:

答案 0 :(得分:0)

类似的事情应该起作用:

require_once 'fpdf181\fpdf.php';
require_once 'fpdf181\makefont\makefont.php';

MakeFont('C:\\Windows\\Fonts\\arial.ttf','cp1252');

$pdf = new FPDF();
$pdf->AddFont('Arial','','Arial.php');
$pdf->AddPage();
$pdf->SetFont('Arial','',16);
$pdf->Write(6,'Saglasno odredbama čl.19 Zakona o udruženjima i Statuta Udruženja računovođa i knjigovođa Srbije URIKS iz Beograda, ul.');
$pdf->Output();

尝试将编码更改为cp1250ISO-8859-2

来源:http://www.fpdf.org/en/tutorial/tuto7.htm

如果这一切都失败了,请尝试使用UTF-8:http://www.fpdf.org/en/script/script92.php

答案 1 :(得分:0)

我个人不会在PDF中使用UTF-8,因为文件大小对我来说很大。在这种情况下,我使用字体嵌入来避免文件过大。

FPDF类可以用西欧语言以外的其他多种语言生成文档:中欧,西里尔,希腊,波罗的海和泰语,只要您拥有具有所需字符集的TrueType或Type1字体即可。还提供了UTF-8支持。

要获得UTF-8支持,您必须使用基于FPDF的 tFPDF 。 tFPDF接受UTF-8编码的文本。请 read all this instructions ,然后从该网站的底部下载 ZIP file

转换为UTF-8:

如果您使用上面的说明(来自链接)并从文件中加载UTF-8字符串,则无需转换为UTF-8,如下所示:

// this file file must be saved in UTF-8 before:
$str = file_get_contents('Text-saved-in-UTF-8.txt');

在其他情况下:

您必须使用 mb_convert_encoding ,而不是iconv。对于波斯尼亚语(拉丁语),这是'iso-8859-2'

在以下情况下:

$mystring = "Saglasno odredbama čl.19 Zakona o udruženjima i Statuta Udruženja računovođa i knjigovođa Srbije URIKS iz Beograda, ul.";

您必须写:

$str = mb_convert_encoding($mystring, 'UTF-8', 'iso-8859-2');

您的PHP文件必须先保存在iso-8859-2中(但在UTF-8中保存为不是)。

然后在tFPDF中使用它。


我的相关答案:Serbian characters in FPDF