O Conjunto de Caracteres Utilizado para Dados e Ordenação
Por padrão, o MariaDB 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 MariaDB 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
. Leia "Opções típicas do configure
".
Se o conjunto de caracteres for alterado durante a execução do MariaDB (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 MariaDB 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 MariaDB não incluiu todos os conjuntos de caracteres no binários do MariaDB, 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 MariaDB:
[client] character-sets-dir=/usr/local/mysql/share/mysql/charsets
onde o caminho aponta para onde os conjuntos de caracteres dinâmicos do MariaDB 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.