我在我的PDF中收到字符,我已經剝去\ r \ n \ r \ n \ t,修剪所有內容,解碼html實體和剝離標籤。沒什麼幫助。數據來自MySQL數據庫。我生成的PDF中的奇怪字符
任何幫助,將不勝感激。
我在我的PDF中收到字符,我已經剝去\ r \ n \ r \ n \ t,修剪所有內容,解碼html實體和剝離標籤。沒什麼幫助。數據來自MySQL數據庫。我生成的PDF中的奇怪字符
任何幫助,將不勝感激。
在添加到pdf之前檢查字符串編碼(使用mb_detect_encoding),它是unicode字符串嗎? MySQL數據庫中的數據可以使用unicode,但數據庫連接可以使用其他編碼。
有趣。 MySQL數據庫是utf-8。如果情況是這樣的話,我如何更改我的數據庫連接的編碼? – HyderA 2010-05-21 05:55:33
要設置連接編碼,您應該在mysql_connect之後執行下一個查詢 mysql_query(「SET NAMES'utf8'COLLATE'utf8_general_ci'」) 。如果您的數據庫歸類不是utf8_general_ci - 請設置所需的歸類。如果您有權訪問my.cnf,則可以將此查詢添加到它: init-connect =「SET NAMES'utf8'COLLATE'utf8_general_ci'」。那裏有更多的信息: http://dev.mysql.com/doc/refman/5.5/en/charset-connection.html – Zyava 2010-05-21 18:26:31
謝謝剛纔幫我出來 – 2012-02-04 10:32:30
你試過用utf8_decode()嗎? http://php.net/manual/en/function.utf8-decode.php
試過了,沒有幫助 – HyderA 2010-05-20 07:15:33
嘗試是這樣的,以確定其數值並替換:
$str = 'Hello World';
echo str_replace(chr(ord('')), '[removed]', $str);
輸出:
Hello [removed] World
你試過
$string = "testContainingSpecialCharsäöüöüäüß";
$pdf->Cell(0,0,$string);
哪些字符應該是顯示而不是那些東西?
FPDF不支持unicode字符,所以這可能是您的問題的原因。有一個擴展,你可以嘗試在http://acko.net/node/56,或者你可以切換到另一個PDF生成器庫(我建議TCPDF)。
或者,如果您想要使用FPDF,則可以嘗試使用iconv將文本從UTF-8轉換爲支持的字符集(即$str = iconv('UTF-8', 'windows-1252', $str);
)。
我們實際上使用的是FPDF擴展,UFPDF支持unicode – HyderA 2010-05-20 14:24:07
看起來像從Microsoft word複製/粘貼文本時發生的結果。 PDF文件是否包含來自MS Word文檔的文本?這可能是你的問題。有一些有趣的意見轉換和PHP.net網站上剝離這些字符在PHP:http://www.php.net/manual/en/function.strtr.php#39383
我只是假設它是MS Word字符在您的PDF文件。
不,它是從網頁抓取的數據,以及其中的字符顯示的數據只填充了製表符和空格。 – HyderA 2010-05-21 05:53:07
你期望什麼呢? – 2010-05-20 07:02:51
在MySQL中數據看起來像什麼? – 2010-05-20 07:03:08
什麼是在MySQL數據庫中使用的編碼,您如何訪問數據,以及如何創建PDF? – 2010-05-20 07:03:56