【发布时间】:2014-03-17 19:28:14
【问题描述】:
我遇到了一个非常棘手的问题。 我在 Windows 上使用 xampp 在 localhost 上编写了一个社区。当我将它导出到我的网络服务器(centos、apache2、php 最新版本、mysql 最新版本)时,我无法再添加带有 å ä ö 的新闻。其他一切正常,language.php(翻译文件)中的所有内容都带有 å ä ö,并且在网站上显示为 å ä ö。但是 news/cmets 中的编辑将 å ä ö 提交为 å, ä 和 ö。那么它将是“Snö är fint”,在网站上显示为“Snö är fint”。
现在,它作为 "Snö är fint" 添加到数据库中并显示为 "Snö är fint" 。我没有更改文件中的任何内容,并且已配置 php 和 centos 使用 sv_SE.UTF-8。
什么是正确的解决方案?有人假设您服务器上某处的编码有问题,但我已将其配置为使用 UTF-8 并且 mysql 应该使用 UTF-8(虽然它没有在数据库中说 å ä ö,但只有 ä 或 now 在这case ä),并且我在自己的计算机(XAMPP 服务器)上使用了相同的设置,它可以正常工作。所以这意味着当我插入数据库时,它会变成 ä 等而不是 ä
TLDR;从我的本地 XAMPP 服务器更改为 centos 服务器后,我遇到了这个问题:当我在新闻上发布带有字母“ä”(和 å/ö)的新闻或 cmets 时,会显示 ä 而不是 ä,因为它应该做它在我的 XAMPP 服务器上完成。我的 centos 服务器上的所有内容都是 utf-8,即使是语言环境(sv_SE.utf8 / sv_SE.UTF-8)。
在我编写 php 的 8 年中从未遇到过这个问题。你会认为我应该有足够的知识来修复它......
任何帮助表示赞赏,在此先感谢!
【问题讨论】: