我有一个工作代码,并将其移动到一个新的服务器,从php5到php7。谷歌搜索一个星期没有帮助我,所以我问你们。
我在sql数据库中有一些欧元符号的信息:“99.00信息存储为utf16-general-ci。
如果信息被选中并放入一个字符串中,我用它回显:echo $row["Total"]
;
在旧服务器上显示:€99.00
在新服务器上显示:€99.00
我想显示欧元符号而不是字符代码。
我尝试改为utf-8,但这没有任何作用。 htmlentities()
或htmlspecialchars()
也没有做任何事情。
正如链接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