使用insert to mySQL时,编码不起作用,ä(ä)转入ä(¤)

时间:2014-03-17 19:28:14

标签: php mysql iso utf

我遇到了一个非常难的问题。 我已经在windows上为xhostp编写了一个localhost社区。当我将它导出到我的网络服务器(centos,apache2,php最新版本,最新的mysql)时,我无法再用åäö添加新闻。其他一切都有效,一切都在language.php(翻译文件)中,并且在网站上显示为åäö。但是新闻/评论中的编辑将åäö表示为å,ä和ö。然后它会像“Snöärfint”那样在网站上显示为“Snöärfint”。

现在,它被添加到数据库中作为“Snöärfint”并显示为“Snöärfint”。我没有更改文件中的任何内容,并已配置php和centos使用sv_SE.UTF-8。

什么是正确的解决方案?有人认为你在服务器上某处编码有问题,但是我已经将它配置为使用UTF-8而mysql应该使用UTF-8(虽然它没有在数据库中说åäö,但只有ä或现在这个caseä),我在我自己的计算机(XAMPP服务器)上使用相同的设置,它可以正常工作。所以这意味着当我插入数据库时​​,它转向ä等而不是ä

TLDR;从我的本地XAMPP服务器更改为centos服务器后,我遇到了这个问题:当我在新闻上发布新闻或评论时,用“ä”(和å/ö)ä显示新闻或评论而不是ä应该这样做它在我的XAMPP服务器上完成。我的centos服务器上的所有内容都是utf-8甚至是语言环境(sv_SE.utf8 / sv_SE.UTF-8)。

在我编写php的8年中从未遇到过这个问题。你认为我应该有足够的知识来修复它......

感谢任何帮助,提前谢谢!

2 个答案:

答案 0 :(得分:1)

您还必须在PHP和MySQL之间设置连接的编码。

答案 1 :(得分:-1)

也许如果从main中删除PHP服务器,并将其设置为off。相反,你应该将MySQL数组作为5.4列表,为我工作:)