Para adicionar outro conjunto de caracteres ao MySQL, utilize o seguinte procedimento.
Decida se o conjunto é simples ou complexo. Se o conjunto de caracteres não necessitar do uso de rotinas especiais de classificação de strings para ordenação e também não necessitar de suporte à caracteres multi-byte, será simples. Se ele necessitar de alguns destes recursos, será complexo.
        Por exemplo, latin1 e
        danish são conjuntos simples de caracteres
        enquanto big5 ou czech
        são conjuntos de caracteres complexos.
      
        Na seguinte seção, assumimos que você nomeou seu conjunto de
        caracteres como MYSET.
      
Para um conjunto de caracteres simples use o seguinte:
            Adicione MYSET para o final do arquivo
            sql/share/charsets/Index Associe um
            número único ao mesmo.
          
            Crie o arquivo
            sql/share/charsets/MYSET.conf. (O
            arquivo sql/share/charsets/latin1.conf
            pode ser utilizado como base para isto).
          
A sintaxe para o arquivo é muito simples:
Comentários iniciam com um caractere '#' e continuam até o fim da linha.
Palavras são separadas por quantidades arbitrárias de espaços em brancos.
Ao definir o conjunto de caracteres, cada palavra deve ser um número no formato hexadecimal
                O vetor ctype obtêm as primeiras 257
                palavras. Os vetores to_lower,
                to_upper e
                sort_order obtêm, cada um, as 256
                palavras seguintes.
              
            Adicione o nome do conjunto de caracteres às listas
            CHARSETS_AVAILABLE e
            COMPILED_CHARSETS no
            configure.in.
          
Reconfigure, recompile e teste.
Para um conjunto de caracteres complexo faça o seguinte:
            Crie o arquivo strings/ctype-MYSET.c na
            distribuição fonte do MYSQL.
          
            Adicione MYSET ao final do arquivo
            sql/share/charsets/Index. Associe um
            número único a ele.
          
            Procure por um dos arquivos ctype-*.c
            existentes para ver o que precisa ser definido, por exemplo
            strings/ctype-big5.c. Perceba que os
            vetores no seu arquivo deve ter nomes como
            ctype_MYSET,
            to_lower_MYSET e etc. Isto corresponde
            aos arrays no conjunto simples de caracteres -
            Secção 4.7.4, “Os Vetores de Definições de Caracteres” - para um conjunto de
            caracteres complexo.
          
Próximo ao topo do arquivo, coloque um comentário especial como este:
/* * This comment is parsed by configure to create ctype.c, * so don't change it unless you know what you are doing. * * .configure. number_MYSET=MYNUMBER * .configure. strxfrm_multiply_MYSET=N * .configure. mbmaxlen_MYSET=N */
            O programa configure utiliza este
            comentário para incluir o conjunto de caracteres na
            biblioteca MySQL automaticamente.
          
As linhas strxfrm_multiply e mbmaxlen serão explicadas nas próximas seções. Só as inclua se você precisar de funções de ordenação de strings ou das funções de conjuntos de caracteres multi-byte, respectivamente.
Você deve então criar algumas das seguintes funções:
                my_strncoll_MYSET()
              
                my_strcoll_MYSET()
              
                my_strxfrm_MYSET()
              
                my_like_range_MYSET()
              
            Adicione o nome do conjunto de caracteres às listas
            CHARSETS_AVAILABLE e
            COMPILED_CHARSETS no
            configure.in.
          
Reconfigure, recompile e teste.
        O arquivo sql/share/charsets/README fornece
        algumas instruções a mais.
      
Se você desejar ter o seu conjunto de caracteres incluído na distribuição MySQL, envie um email com um patch para a lista de email ``internals'' do MySQL. See Secção 1.7.1.1, “As Listas de Discussão do MySQL”.
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.

