Estou tentando entender quando devo definir/forçar o conjunto de caracteres padrão para o cliente.
Você pode forçar os programas clientes a usar um conjunto de caracteres especÃfico da seguinte maneira:
[cliente] default-character-set=charset_name
Isso normalmente é desnecessário. No entanto, quando character_set_system difere de character_set_server ou character_set_client e você insere caracteres manualmente (como identificadores de objeto de banco de dados, valores de coluna ou ambos), eles podem ser exibidos incorretamente na saÃda do cliente ou a própria saÃda pode ser formatada incorretamente. Nesses casos, iniciar o cliente mysql com --default-character-set=system_character_set - ou seja, definir o conjunto de caracteres do cliente para corresponder ao conjunto de caracteres do sistema - deve corrigir o problema.
Vamos assumir que charater_set_system e character_set_server são diferentes.
Minha primeira pergunta:
Suponho que, quando estou importando arquivos de exportação gerados pelo mysqldump, a variável default-character-set não tem efeito, pois os nomes dos conjuntos são sempre emitidos no inÃcio do arquivo de exportação. Estou certo ou pode haver casos de canto?
A segunda pergunta:
Que tal executar scripts SQL manualmente? A documentação informa que alguns caracteres podem ser exibidos incorretamente . Como posso ter certeza de que os dados foram importados corretamente (uma parte da execução de um teste de aplicativo, ou seja, por tentativa e erro)?
Você tem a opção de definir conjuntos de caracteres/agrupamentos em tempo real:
Embora tentativa e erro possam ser necessários, não vá a toa com essas variáveis ​​em /etc/my.cnf. É melhor configurá-los dinamicamente durante qualquer teste de tentativa e erro.
Para certificar-se de quaisquer casos extremos, observe as variáveis ​​iniciais de qualquer mysqldump e veja se os conjuntos de caracteres ou collations estão definidos no inÃcio e redefinidos na parte inferior.
Na verdade, aqui está uma amostra para um mysqldump:
Veja as variáveis
Talvez você possa definir essas opções
[mysqldump]
seção do grupo