Mysql 8.0修改字元編碼(CentOS)
阿新 • • 發佈:2020-12-30
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