我不知道这个问题是什么,但每当我从$ _POST函数调用这封信时,它会把它放在我的fpdf中作为Ã... ..任何想法为什么?
答案 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");