2014-11-24 67 views
0

我已经在我的本地主机xampp上在我的电脑上编写了一个小型社交网络。 这里一切正常。变音符号和特殊字符不显示在php mysql

mySQL数据库中的文本看起来像这样:“是fizza比萨?”而不是“是比萨?”。 这没问题,它显示为“wasfürPizza?”。在我的PC上的本地主机上。

但现在我把它上传到我的网站空间,那里我得到了这个“是比萨饼吗?”显示。

任何人都可以帮助我吗?

+1

http://stackoverflow.com/a/10924295/1291428 – Sebas 2014-11-24 18:36:37

+0

http://httpd.apache.org/docs/2.2/mod/core.html#AddDefaultCharset – mudasobwa 2014-11-24 18:37:12

+0

http://stackoverflow.com/questions/10367133/utf-8-showing-incorrect-in-database-but-in-html-whatever-utf-8-charset?rq = 1 – Sebas 2014-11-24 18:38:09

回答

0

一些步骤:

  • 确保您的表/列设置为Unicode排序。一个较老的,但仍然不错的是utf8_unicode_ci。它适用于大多数情况,但如果您要使用表情符号(您可能使用社交网络),则需要使用utf8mb4_unicode_ci。
  • 确保PHP与数据库的连接是UTF8。这通常通过运行查询来完成SET names 'utf8'
  • 确保您的网站告诉浏览器它是UTF8。这通常是通过发送Content-Type: text/html;charset=utf-8头,通过包括meta标签,上面写着同样的事情,<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />或通过包括元charset标记(更新)<meta charset="utf-8" />
+0

我做了这些步骤,但没有帮助:/ – progNewbie 2014-11-24 23:38:21

+0

我用使用utf8_decode() – progNewbie 2014-11-25 00:33:22

+0

@progNewFag如果使用utf8_decode()解决了你的问题,那么你的页面不会被解释为UTF-8(或者你的数据库和输出之间的某个步骤不是UTF-8;因为utf8_decode会将UTF转换为ISO-8859-1。 – Navarr 2014-11-26 02:44:01

0

这听起来像是字符编码问题,您需要使用utf-8。我认为默认是ascII。我只用英文书写页面,但这个guy有所有需要的步骤。

0

您可以使用记事本的文件转换为UTF8完成加加。 试试吧。