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 9.2, “Setting the Error Message Language”.
In MySQL 5.4, 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 latin1
,
euckr
, and koi8r
,
respectively.
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:
xxx
'
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
character_set_results
system
variable.
User Comments
Add your own comment.