2012-09-06 69 views
1

我正在使用dompdf庫生成pdf。我需要輸出一個歐元符號(€),但它只顯示一個正方形。我試着用兩個直接的符號或代碼€和我使用的字體家族是這樣的:歐元符號不會顯示在dompdf生成的pdf中

font-family: Arial, "Helvetica", Arial, "Liberation Sans", sans-serif; 

而且我把這個在:

<meta charset="UTF-8"> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 

它在Mac上工作正常,但不在Linux上。

+0

更換€符號這將有助於知道)你使用的是什麼版本的DOMPDF,和b)您使用歐元的特定代碼。 – BrianS

+0

我正面臨類似的問題。PDF在我的MAC上生成。它不是在Windows或Centos上生成的。有任何想法嗎? –

回答

1

根據您的字體系列,dompdf將使用Helvetica作爲相關文本的字體。目前dompdf(最高爲v0.6.0)僅支持Windows核心PDF字體(Helvetica是其中之一)的ANSI ANSI編碼。在Windows ANSI中,歐元符號位於128位,因此您可以嘗試€。這與v0.5.1最爲相關,它不能很好地處理Windows ANSI字符集之外的字符。

從v0.6.0開始dompdf原生使用UTF8。它還做了很多工作來確保字符編碼得到仔細處理。這對於避免從一個字符集移動到另一個字符集時出現問題尤爲重要,例如從內部UTF8編碼到核心PDF字體的Windows ANSI。

+0

我正在使用dompdf的最新版本,我嘗試使用符號€和帶&號的代碼(& euro;) – Carlo

+0

即使沒有指定文檔編碼,它也適用於我。你有MBString擴展啓用?我現在沒有辦法對此進行測試,但沒有可能導致字符編碼問題。 – BrianS

1

嘗試

&#0128; &euro; &#8364;