【问题标题】:Encodings doesn't work when using insert to mySQL, ä (ä) turns in to ä(ä) [duplicate]使用插入到mySQL时编码不起作用,ä(ä)变成ä(ä)[重复]
【发布时间】: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 年中从未遇到过这个问题。你会认为我应该有足够的知识来修复它......

任何帮助表示赞赏,在此先感谢!

【问题讨论】:

标签: php mysql iso utf


【解决方案1】:

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

【讨论】:

【解决方案2】:

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

【讨论】:

  • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post
猜你喜欢
  • 2018-08-24
  • 2015-09-11
  • 2011-11-28
  • 1970-01-01
  • 2021-03-26
  • 1970-01-01
  • 1970-01-01
  • 2017-01-10
相关资源
最近更新 更多