= Сообщение: 5990 из 10756 ===================================== RU.UNIX.BSD = От : Eugene Grosbein 2:5006/1 13 Sep 17 00:56:11 Кому : Victor Sudakov 13 Sep 17 00:56:11 Тема : Re: mysqldump и кодировка FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+f79ffd20 На : area://RU.UNIX.BSD?msgid=2:5005/49+59b7df00 = Кодировка сообщения определена как: IBM866 ================================= Ответ: area://RU.UNIX.BSD?msgid=2:5005/49+59b8aebd ============================================================================== 12 сент. 2017, вторник, в 19:16 NOVT, Victor Sudakov написал(а):
VS>>> Видимо она и влияет на charset в handshake. Hо какой выбирается VS>>> charset, если эту функцию не использовать - я нигде даже VS> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ VS>>> нагуглить не смог. EG>> https://dev.mysql.com/doc/refman/5.7/en/mysql-set-character-set.html EG>> 27.8.7.67 mysql_set_character_set() EG>> This function is used to set the default character set for the current EG>> connection. The string csname specifies a valid character set name. EG>> The connection collation becomes the default collation of the EG>> character set. This function works like the SET NAMES statement, but EG>> also sets the value of mysql->charset, and thus affects the character EG>> set used by mysql_real_escape_string()
EG>> https://dev.mysql.com/doc/refman/5.7/en/set-names.html EG>> SET NAMES {'charset_name' [COLLATE 'collation_name'] | DEFAULT} EG>> This statement sets the three session system variables EG>> character_set_client, character_set_connection, and EG>> character_set_results to the given character set. Setting EG>> character_set_connection to charset_name also EG>> sets collation_connection to the default collation for EG>> charset_name. See Section 10.1.4, Connection Character Sets and EG>> Collations.
VS> В процитированном не говорится, какой и откуда берется charset, если все эти VS> mysql_set_charset() и mysql_set_character_set() не использовать в коде вообще VS> никак.
Hу как же "не говорится". Говорится, что оно is used to set, то есть установить (читай: сменить дефолт), а конкретнее: This function works like the SET NAMES statement плюс меняет mysql->charset. И говорится, что конкретно делает SET NAMES, какие три системные переменные оно меняет. Дефолты системных переменных и для сервера, и для клиента задаются в my.cnf, но клиенты типа PHP могут выставлять клиентский charset в зависимости от собственных конфигов и никаких предположений на этот счет делать нельзя, а только читать доку по PHP.
Если же ты имеешь в виду серверный дефолт, который используется если ни в каких конфигах его вообще не прописывать, то как описано в https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html он определяется на этапе компиляции и если не перепределён, то будет DEFAULT_CHARSET=latin1 и DEFAULT_COLLATION=latin1_swedish_ci.
Eugene -- Смотри, но не смей трогать --- slrn/1.0.2 (FreeBSD) * Origin: RDTC JSC (2:5006/1@fidonet)