2016-10-02 46 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文档”恰好是错误的。 –

相关问题