Why is the database incorrectly displayed via phpMyAdmin also via the console, a solid kryakozyabrin.
Because the tables contain the data in utf8 , while the table definition contains the default latin1 . You can verify this by entering the command
SHOW CREATE TABLE MyGuests;
When phpMyAdmin tries to work correctly by requesting data from the database in the encoding in which it is going to output them, the database tries to transcode the Russian text from latin1 to utf8, and we get Ð”ÐµÐ½Ð¸Ñ .
The wrong solution with skip-character-set-client-handshake outputs the data as is, without re-encoding it. But this, of course, is a crook of the curve. At the first attempt to search data or sort it, the results will be VERY surprising.
It is necessary to set the tables adequate encoding. If the database is not yet live, then delete the tables, set the default encoding for the database,
ALTER DATABASE aliendatabase CHARACTER SET utf8;
re-create tables and start work from scratch. Simply changing the encoding "in the forehead", making the alter table does not work out - after this command, mysql faithfully recodes the underlying data into the form Ð”ÐµÐ½Ð¸Ñ , just like it does now when it is issued, but for good .
If the base is "live", you can use the instructions , but before that you must make a backup.