我的PDF中有个字符,我已经删除了\ r \ n \ r \ n \ t,修剪了所有内容,解码了html实体和剥离标记。什么都没有帮助。数据来自MySQL数据库。
任何帮助都将不胜感激。
答案 0 :(得分:2)
在添加到pdf之前检查字符串编码(使用mb_detect_encoding),它是unicode字符串吗? MySQL数据库中的数据可以是unicode,但您的数据库连接可以使用其他编码。
答案 1 :(得分:0)
你尝试过使用utf8_decode()吗? http://php.net/manual/en/function.utf8-decode.php
答案 2 :(得分:0)
您可能正在使用不可用的字体。
答案 3 :(得分:0)
尝试这样的方法来确定其数值并替换它:
$str = 'Hello World';
echo str_replace(chr(ord('')), '[removed]', $str);
<强>输出:强>
Hello [removed] World
答案 4 :(得分:0)
你试过吗
$string = "testContainingSpecialCharsäöüöüäüß";
$pdf->Cell(0,0,$string);
应该显示哪些字符而不是那些字符?
答案 5 :(得分:0)
FPDF不支持unicode字符,因此可能是您遇到问题的原因。您可以在http://acko.net/node/56尝试扩展,或者您可以切换到另一个PDF生成器库(我建议TCPDF)。
或者你可以尝试使用iconv将文本从UTF-8转换为支持的字符集(即$str = iconv('UTF-8', 'windows-1252', $str);
),如果你想坚持使用FPDF。
答案 6 :(得分:0)
看起来是从Microsoft Word复制/粘贴文本时发生的结果。 PDF文件是否包含来自MS Word文档的文本?那可能是你的问题。在PHP.net网站上有一些有趣的注释用于在PHP中转换和剥离这些字符:http://www.php.net/manual/en/function.strtr.php#39383
我只假设它是PDF文件中的MS Word字符。