我在mysql数据库中设置了utf8
现在显示了
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
我的 php 代码中有以下内容
mysqli_query("SET NAMES 'utf8'");
和
$con = mysqli_connect('host','user','pass','database');
mysqli_query($con,"SET NAMES 'utf8'");
由于我在数据库中设置了utf8,所以我打算删除
mysqli_query("SET NAMES 'utf8'");
和
mysqli_query($database,"SET NAMES 'utf8'");
来自 PHP 代码
我被告知我可以删除上面的代码,但我需要添加
mysqli_set_charset($con,"utf8");
在 PHP 代码中。
我可以设置而不是在代码中添加mysqli_set_charset($con,"utf8")
default_charset = "UTF-8"
在 php.ini
中?
my.cnf 是
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
最佳答案
Instead of adding
mysqli_set_charset($con,"utf8")
in the code, can I setdefault_charset = "UTF-8"
in php.ini?
不,这不会影响数据库连接字符集。
甚至是MySQL extension settings在这方面没有提供任何内容 - those for MySQLi 也没有提供任何内容.
它毕竟是每个连接的设置。
但是,如果您将建立数据库连接的代码放入一个文件中,并在需要的地方添加该文件,那就足够了。
关于php - 数据库中的 utf8 - 在 php.ini 中设置 default_charset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33087131/