Mac環境下PHP連接mysql提示Server sent charset (255) unknown和(HY000/2054)


錯誤提示:

mysqli_connect(): Server sent charset (255) unknown to the client. Please, report to the developers

 

網友提供的解決辦法(轉載鏈接,感謝原著!):

https://www.jianshu.com/p/d5d8e825ebda

http://dakaijun.cn/note/1386/

 

 

通過多次調試,發現我的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喲,本人新進小白一只,歡迎廣大碼友們指正吐槽!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM