在fpdf中导出的错误符号...ñ为Ã... ..?

时间:2011-01-09 09:52:46

标签: php web fpdf fpdi

我不知道这个问题是什么,但每当我从$ _POST函数调用这封信时,它会把它放在我的fpdf中作为Ã... ..任何想法为什么?

4 个答案:

答案 0 :(得分:5)

您的字符串编码错误。它是UTF-8,但我认为你需要拉丁语-1左右..

您可以在字符串上使用utf8_decode():

echo utf8_decode("ñ"); // prints ñ

答案 1 :(得分:2)

替代解决方案是使用Unicode(UTF-8)支持扩展FPDF。有一个补丁:http://acko.net/node/56

答案 2 :(得分:2)

我也花了相当多的时间试图让它发挥作用,并认为以下解释可能对其他人有所帮助。

如果唯一的问题是£/€或类似字符,则无需编写自己的复杂函数。

以下是我使用的内容(摘自网络上的其他内容): -

$pdf->SetY(220); // set the y co-ord before output //
$monthlyRent = utf8_decode("£" . number_format($monthlyRent, 2)); // 2 dec places //
// previously $monthlyRent is pulled from the MySql db as $array['_monthlyRent'];
$pdf->Write(5,'Gross monthly rent: ' . $monthlyRent); // outputs £980 or whatever. //

运用一种享受,但是记得在与number_format($yourval, 2)相同的行中执行utf8_decode();,否则就会搞砸!

希望这对一些喜欢我的可怜的草皮有帮助,已经挣扎了几个小时!

答案 3 :(得分:1)

我们遇到过问题并使用

utf8_decode("foo bar");

解决了问题(当然,如果数据来自用户,数据库,......)。不要忘记将文件以UTF-8形式发送给用户以及标题

header("Content-type: application/pdf; charset=utf-8");