Just read Stefan Gehrig excellent answer to Is "SET CHARACTER SET utf8" necessary?, which goes a bit further than MySQL's documentation at explaining the stages of interpretting and running a query w.r.t. character sets and collations, but I still can't really see the purpose of character_set_connection, or more specifically transcoding the statement from character_set_client into character_set_connection.
Why not just use character_set_client for the query and transcode straight from character_set_client to the character set of the column when comparing with column values? What is the purpose of this intermediate stage? The manual gives the example of comparing literal stings, but why would you want to do this in the first place, let alone in character_set_connection as oppose to character_set_client? Unless my understanding of this (something like "select 'somestr' = 'somestr' from x") is wrong.
Thank you.