1. 程式人生 > 實用技巧 >Mysql 8.0修改字元編碼(CentOS)

Mysql 8.0修改字元編碼(CentOS)

PHP連線檔案出現下面的錯誤,大概是客戶端不理解伺服器傳送的字元編碼

<?php
    $dbhost='localhost';
    $dbuser='root';
    $dbpass='';
    $dbname='demo';
    
    $dbc = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);

    if(!$dbc){
    
        die("Could not connect database.".mysqli_connect_error());
}
?> 
server sent charset unknown to the client. please, report to the developers

MySQL 8.0已經已經把預設字符集升級成ut8mb4

使用命令檢視當前資料庫的編碼字符集:

mysql> show variables like 'character%';

官方文件截圖:

官方文件連結:https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html

因為網站無法使用,暫時沒找到其他的方法,所以需要修改預設字符集編碼格式修改為utf8

測試系統為CentOS 7

解決方法如下:

修改my.conf檔案,檔案路徑在 /etc/my.conf

在檔案末尾新增如下選項,重啟mysql守護程序

[client]
default-character-set = utf8

[mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci

重啟MySQL:

systemctl restart mysqld

使用命令檢視預設字符集:

mysql> show variables like 'character%';

 

參考文件連結:

https://blog.csdn.net/linux_Allen/article/details/80579851?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-10&spm=1001.2101.3001.4242

https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html

2020-12-30