数据库
首页 > 数据库> > 即使所有内容都是utf-8编码的,为什么还要使用set_charset(“ utf8”)? (MySQLi-PHP)

即使所有内容都是utf-8编码的,为什么还要使用set_charset(“ utf8”)? (MySQLi-PHP)

作者:互联网

我表的排序规则是utf8_general_ci.

我的页面使用UTF-8编码(没有BOM).

在我的页面中,我的Equiv元标记将字符集设置为utf8

我的数据中有土耳其语字符.

当我输出它们时,它没有按原样显示它们,但是当我执行$db-> set_charset(“ utf8”);时,它起作用了.

为什么我必须使用$db-> set_charset(“ utf8”);即使所有内容都是utf-8编码的?

解决方法:

数据在MySQL中以UTF-8格式存储,但PHP的客户端连接排序规则则不是.这就是为什么必须在PHP中使用set_charset进行数据库连接的原因.

更新资料

php.ini:default_charset utf-8
.htaccess:AddDefaultCharset utf-8

标签:character-encoding,utf-8,mysqli,collation,php
来源: https://codeday.me/bug/20191209/2097012.html