錯誤提示:
mysqli_connect(): Server sent charset (255) unknown to the client. Please, report to the developers
網友提供的解決辦法(轉載鏈接,感謝原著!):
https://www.jianshu.com/p/d5d8e825ebda
通過多次調試,發現我的MySQL配置文件my.cnf的配置參數在字符集方面沒有問題,的確是utf8,后來發現配置文件中命令行"password = your_password"是被注銷了的,解開注釋后錯誤代碼消失了,但卻出現了另一行錯誤代碼😂
mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES)
繼續從網上搜羅大神們的解決辦法,然鵝,又一次沒能適用於我的問題,后來就瞎琢磨從php.ini文件里為mysql配置了如下代碼(根據my.cnf),問題竟然解決了:
mysql.default_port = 3306
mysql.default_socket = /tmp/mysql.sock
mysql.default_user = root
mysql.default_password = 你自己的mysql密碼
同時,保證my.cnf的配置如下就👌了,就是對應下列代碼在php.ini里為mysql配置參數
[client]
default-character-set=utf8
#character-set-server=utf8(注意有網友推薦配置該行代碼,我的結論是會報錯,所以推薦使用上行代碼)
password = your_password
port = 3306
socket = /tmp/mysql.sock
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server = utf8_general_ci
default_authentication_plugin=mysql_native_password
init_connect='SET NAMES utf8
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
init_connect='SET NAMES utf8'
最后,修改完參數記得重啟MySQL和Apache喲,本人新進小白一只,歡迎廣大碼友們指正吐槽!
