This section describes how the server uses character sets for constructing error messages and returning them to clients. For information about the language of error messages (rather than the character set), see Section 10.2, “Setting the Error Message Language”.
In MySQL, the server constructs error messages and returns them to clients as follows:
The message template has the character set associated with the error message language. For example, English, Korean, and Russian messages use
Parameters in the message template are replaced with values that apply to a specific error occurrence. These parameters use their own character set. Identifiers such as table or column names use UTF-8. Data values retain their character set. For example, in the following duplicate-key message,
'has the character set of the table column associated with key 1:
Duplicate entry '
xxx' for key1
The preceding method of error-message construction can result in
messages that contain a mix of character sets unless all items
involved contain only ASCII characters. This issue is resolved
in MySQL 5.5, in which error messages are constructed internally
within the server using UTF-8 and returned to the client in the
character set specified by the