php - 数据库中的 utf8 - 在 php.ini 中设置 default_charset

标签 php mysql utf-8 php-ini my.cnf

我在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 set default_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/

相关文章:

javascript - 使用 phpunit 测试一个 try catch store 方法来测试异常

mysql - mysql 查询中日期时间的更改不会反射(reflect)在 Jasper studio 中生成报告期间的输出中

python - 无法以 UTF-8 进行解码/编码

java string.getBytes ("UTF-8") 等效的 javascript

php - 如何调用使用onclick从 map 区域内查询mysql的php函数

从网络浏览器调用时出现 php 奇怪问题

javascript - 如何从过滤函数改进自制SQL语法?

java - 即使字符串采用 UTF-8 格式,电子邮件主题也会以 CP1252 编码设置

php - "Unable to open primary script:/usr/share/webapps/roundcubemail/webmail/index.php (No such file or directory)"

php - MySQL 循环选择