2016-10-02 80 views
0

我試圖從包含特殊字符(如é)的表中打印數據。我已經使用函數htmlentities()希望它解決了這個問題,但不是解決問題,數據根本不會出現。htmlentities()與表中的數據一起使用時不起作用

例如:

我應該把它打印出來:

「的Lightroom 3倒萊Phototographes杜NUMERIQUE」

然而,é顯示爲字符。因此使用函數htmlentities()應該從邏輯上解決問題。然而,在使用它的字符串包含字符沒有打印,但空白的空間。在不包含特殊字符的字符串上使用該函數可以正常工作。

「的Lightroom 3傾LES Phototographes杜貨號È rique」

打印,因爲它是,雖然

「的Lightroom 3傾LES Phototographes杜貨號é rique」

打印爲

「」

我DATABSE,所有的表都是UTF-8編碼,以及我的html文件。

+0

如果您在任何地方都使用UTF-8 **,則不需要HTML實體**來顯示重音字符。您很可能無法正確地在您的流程中的某處使用/聲明UTF-8。 –

回答

1

當你閱讀htmlentities文檔,它說,

如果輸入字符串包含給定的編碼一個空字符串中的無效編碼單元序列將被退回,除非是ENT_IGNORE或ENT_SUBSTITUTE標誌設置。

正如文檔中建議的那樣,您可以嘗試強制編碼(也許是「ISO-8859-1」或「ISO-8859-15」)?

+0

使用ISO-8859-1適用於我的情況。 – Amine

+0

很高興看到它可以解決您的問題,但正如@ÁlvaroGonzález所建議的那樣,**'您不需要HTML實體'**,您必須檢查[UTF8 How to](http://stackoverflow.com/questions/) 279170/utf-8-all-the-way-through)查看文件中的哪個位置,**'您無法正確使用/ decalre UTF8'** – Ayak973

+0

如果使用ISO-8859-1修復問題,那麼基本信息「我的數據庫和所有表格都是UTF-8編碼的,以及我的html文檔」恰好是錯誤的。 –

相關問題