Por padrão, o MySQL utiliza o conjunto de caracteres ISO-8859-1 (Latin1) com ordenação de acordo com o sueco/finlandês. Este também é o conjunto de caracteres aplicável nos EUA e oeste da Europa.
Todos os binários padrões do MySQL são compilados com
--with-extra-charsets=complex
. Isto adicionará
código a todos os programas padrões para estarem aptos a lidar
com o conjuntos de caracteres latin1
e todos
os multi-byte no binário. Outros conjuntos de caracteres serão
carregados de um arquivo de definições de conjuntos de
caracteres quando necessários.
O conjunto de caracteres determina quais são os caracteres
permitidos em nomes e qual a forma de ordenação por cláusulas
ORDER BY
e GROUP BY
da
instrução SELECT
.
Você pode alterar o conjunto de caracteres com a opção
--default-character-set
na inicialização do
servidor. Os conjuntos de caracteres disponíveis dependem dos
parâmetros --with-charset=charset
e
--with-extra-charset= list-of-charset | complex | all |
none
e os arquivos de configurações de conjuntos de
caracteres listados em SHAREDIR/charsets/
Index
. See Secção 2.3.3, “Opções típicas do configure
”.
Se o conjunto de caracteres for alterado durante a execução do
MySQL (que também pode alterar a ordenação), deve-se executar
o 0myisamchk -r -q
--set-character-set=charset
em todas as tabelas. De
outra forma seus índices podem não ser ordenados corretamente.
Quando um cliente conecta a um servidor MySQL, o servidor envia o conjunto de caracteres padrão em uso ao cliente. O cliente irá alternar para o uso deste conjunto de caracteres nesta conexão.
Deve ser utilizado mysql_real_escape_string()
quando desejar ignorar seguências de caracteres em uma consulta
SQL. mysql_real_escape_string()
é identico
à antiga função mysql_espace_string()
,
exceto pelo fato de usar a manipulador de conexão MySQL como o
primeiro parâmetro.
Se o cliente for compilado com o caminho diferente daquele onde o servidor está instalado e o usuário que configurou o MySQL não incluiu todos os conjuntos de caracteres no binários do MySQL, deve ser especificado para o cliente onde ele pode encontrar os conjuntos de caracteres adcicionais que serão necessários se o servidor executar com um conjunto de caracteres diferente do cliente.
Isto pode ser especificado colocando em um arquivo de opções do MySQL:
[client] character-sets-dir=/usr/local/mysql/share/mysql/charsets
onde o caminho aponta para onde os conjuntos de caracteres dinâmicos do MySQL são armazenados.
Pode-se forçar o cliente a usar conjuntos de caracteres específicos especificando:
[client] default-character-set=nome-conjunto-caracteres
mas normalmente isto nunca será necessário.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.