变音符号和特殊字符不显示在php mysql
我已经在我的本地主机xampp上在我的电脑上编写了一个小型社交网络。 这里一切正常。变音符号和特殊字符不显示在php mysql
mySQL数据库中的文本看起来像这样:“是fizza比萨?”而不是“是比萨?”。 这没问题,它显示为“wasfürPizza?”。在我的PC上的本地主机上。
但现在我把它上传到我的网站空间,那里我得到了这个“是比萨饼吗?”显示。
任何人都可以帮助我吗?
一些步骤:
- 确保您的表/列设置为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" />
我做了这些步骤,但没有帮助:/ – progNewbie 2014-11-24 23:38:21
我用使用utf8_decode() – progNewbie 2014-11-25 00:33:22
@progNewFag如果使用utf8_decode()解决了你的问题,那么你的页面不会被解释为UTF-8(或者你的数据库和输出之间的某个步骤不是UTF-8;因为utf8_decode会将UTF转换为ISO-8859-1。 – Navarr 2014-11-26 02:44:01
您可以使用记事本的文件转换为UTF8完成加加。 试试吧。
http://stackoverflow.com/a/10924295/1291428 – Sebas 2014-11-24 18:36:37
http://httpd.apache.org/docs/2.2/mod/core.html#AddDefaultCharset – mudasobwa 2014-11-24 18:37:12
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