Ludomedia è il social network per chi ama i videogiochi. Iscriviti adesso per iniziare.

Problema con MySQL Workbench 8.0.14 ed EasyPHP Devserver 17.

Ho un problema con MySQL Workbench 8.0.14 ed EasyPHP Devserver 17. Praticamente devo creare delle pagine PHP per connettermi ad un database ed eseguire delle query in SQL tramite form PHP. Il database l'ho già correttamente importato in MySQL Workbench. Il problema sta nel fatto che ogni volta che tento di connettermi al database mi esce l'errore "Server sent charset unknown to the client. Please, report to the developers”. Dopo varie ricerche ho provato a modificare il charset di MySQL e del database stesso (tabelle comprese) sia in utf8 che utf8mb4. Dato che uso PHP 7.1.3 (ho tentato anche vecchie versioni), credevo che l'utfmb4 risolvesse il problema e invece continua a darmi questo benedetto errore. Ho provato a modificare i vari file my.cnf, my.ini e php.ini in tutti i modi possibili ma nulla. La connessione sembra avviarsi correttamente ma si blocca per colpa di questa incompatibilità. Qualcuno che magari ha riscontrato lo stesso errore sa come risolvere?

in Ludomande

Risposta scelta dall'autore della domanda
1 Utilità

Risposta sciocca, ma non si sa mai: hai riavviato apache e mysql dopo avere modificato i file di configurazione? Se si, hai già provato a inserire in my.cnf tutti i parametri consigliati qui? https://stackoverflow.com/questions/4343 …

-----------------------------------------------------

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8

-----------------------------------------------------

PS. stai usando PDO oppure mysqli? Nel momento in cui crei la connessione stai specificando il charset utilizzato?

 

@Fabbro Finalmente ci sono riuscito, creando un nuovo utente con protezione password Standard anzichè SHA-256 e applicando tutti i privilegi del database anche al nuovo utente. Ti ringrazio molto per l'aiuto che mi hai dato :D

Risposta scelta dall'autore della domanda
0 Utilità

Ciao. Il charset è sempre una pippa da gestire. In pratica devi assicurarti che il charset UTF-8 sia impostato correttamente in tutta la catena client- server-database in andata e in ritorno. Dal momento che il messaggio di errore dice che il server ha inviato un charset sconosciuto al client e dal momento che dici di aver importato un database potrebbe essere (ma il condizionale è d'obbligo) che tu abbia qualcosa salvato sul db che non è più in charset UFT-8. Inizierei ad indagare lì. Magari con qualche test tipo utf8_encode() e/o utf8_decode() sui contenuti.

Problema con MySQL Workbench 8.0.14 ed EasyPHP Devserver 17.