我有一个带有输入字段的应用,您可以在其中输入您的姓名。该应用程序使用FPDF输出pdf文档上的名称。由于这个应用程序是瑞典语,许多人会输入具有特殊字符的名称,如å,ä,ö。输入如下所示:
$name = sanitize_text_field(base64_decode($_POST['name']));
然后:
$specialCharacterName = iconv('UTF-8', 'windows-1252', $name);
然后像这样输出到FPDF:
$pdf->Cell(265,30,' '.$specialCharacterName,0,1,'L',1);
问题是,只要我输入一个带有特殊字符的名称(例如Björn),输出就会为空白。但是当我输入一个没有特殊字符的名字时,比如Anders,它显示得很好。
奇怪的是,当我不使用变量时,输入一个带有特殊字符的字符串,如下所示:
$specialCharacterName = iconv('UTF-8', 'windows-1252', 'Björn');
工作正常。特殊字符在PDF文档中输出正常。所以变量一定有问题。
我也试过utf8_encode(),结果是一样的。我错过了什么?