我有一个工作代码,并将其从php5迁移到了php7的新服务器。 谷歌搜索一个星期对我没有帮助,所以我问你们。
我在SQL数据库中有一些带有欧元符号的信息:99.00欧元 该信息存储为utf16-general-ci。
如果选择了信息并将其放入字符串中,我将通过以下方式回显它:
回声$row["Total"]
;
在旧服务器上,它显示:€99.00
在新服务器上,它显示:€99.00
我想显示欧元符号而不是字符代码。
我尝试更改为utf-8,但这无济于事。 htmlentities()
或htmlspecialchars()
也不做任何事情。
答案 0 :(得分:0)
在链接How to convert Windows-1252 characters to values in php?
中可以找到问题是 Windows-1252 与 ISO-8859-1 。
要解决此问题,我使用了:
mb_convert_encoding($row["Total"], "Windows-1252", "UTF-8")
更多信息可以在这里找到:https://www.i18nqa.com/debug/bug-iso8859-1-vs-windows-1252.html