Quickly switched from Windows to Linux (Kubuntu). Put PHP, MySQL and Apache 2 (all from the repository). In MySQL, all character-set- * changed to utf8, except for character-set-filesystem - there is a binary left. And it turned out that if in the file (by the way all the files in utf8) write php code that pushes specific string constants into the databases, then everything is displayed on the page as needed. If in MySQL you need to fill in the database from the sql file, then on the page there are question marks (and the number of question marks is clear, the number of letters). Do not tell me what the snag is and where to look.
PS again emphasize that all files in utf8. And here are the variables from MySQL:
| character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8
UPD
It is very strange that the data inserted via php in the terminal is displayed as krakozabrami (one character - two), but this is all good in the browser. And the data inserted through source filename.sql or through mysql -u = user --password = password <filename.sql in the terminal is displayed normally. And in the browser is familiar? at the same time the number of question marks exactly (!) acc. number of characters.