UTF-8 não reconhecido no processo em lote SQL através do Putty

0

Eu tenho um arquivo .sql com alguns comandos SQL "Insert into" que estão sendo inseridos em uma tabela chamada Künstler.

insert into Künstler (name) values ('Mariah Carey');
insert into Künstler (name) values ('Michael Jackson');

No entanto, ao executar o arquivo através do Putty para executar todos esses comandos, cada linha é recebida com um erro;

During SQL processing it returned:
SQL0007N The following on "insert into K" mark "▒" is invalid.

Parece que os caracteres alemães de umlaut estão sendo transformados em '▒'

Eu habilitei o UTF-8 no Putty e os comandos funcionarão se inseridos manualmente, mas não como um lote. Existe algum trabalho?

Para informações extras, a linguagem que estou usando é o DB2.

    
por Pejman Poh 14.01.2016 / 16:41

2 respostas

0

A execução de um script no PuTTY não é afetada por nenhuma das configurações do PuTTY. Isso dependeria apenas da codificação (conjunto de caracteres) do script e de suas configurações de local (assim como a codificação do banco de dados - e a maneira como ele lê os scripts).

Quando você digita no teclado usando o PuTTY, isso depende das configurações do PuTTY para o teclado.

Em vez de procurar uma correção no PuTTY, você pode configurar a página de códigos do aplicativo (mencionada no BD referência ) para UTF-8 (página 1208 de acordo com Entendendo a conversão de caracteres do DB2 Universal Database ). De acordo com Derivação de valores de página de código , que devem acontecer automaticamente se sua localidade estiver configurada corretamente.

    
por 14.01.2016 / 23:31
0

A solução acabou sendo bastante simples. Eu estava escrevendo o script no notepad ++ e eu tinha definido o arquivo para a codificação errada. Mudar a codificação do padrão ANSI para UTF-8 resolveu o problema.

Isso pode ser feito por meio da codificação - > Codifique em UTF-8 sem BOM.

    
por 15.01.2016 / 12:22