Pergunta

Eu posso acessar o banco de dados a partir de um programa de .NET (usando ODBC) ou através de uma ferramenta de gerenciamento de banco de dados (escrito em Java).

Se eu escrever um caractere 'é' no banco de dados do programa .NET, ele aparece como 'Õ' (capital O com til) na ferramenta de gerenciamento de DB.

Se eu escrever um caractere 'é' no banco de dados da ferramenta de gerenciamento de DB, ele aparece como 'A' (maiúsculo com um círculo no topo) no programa NET.

Eu não estou tentando realmente resolver o problema (ou seja, tendo ambos os programas mostram a mesma coisa), apesar de que seria bom. Estou apenas tentando adivinhar quais conjuntos de caracteres cada um está usando para interpretar os dados, para que eu possa fazer a conversão me se eu despejar dados usando .NET e re-entrada-lo usando a ferramenta.

Então, qual a combinação de 2 conjuntos de caracteres daria as incompatibilidades de caráter descrito acima?

Obrigado por sua ajuda.

EDIT: usando Sybase ASE 12.5

EDIT: , basicamente, a questão é: você sabe de uma codificação de caracteres cujo ponto de código E9 representa caráter 'Õ' (capital O com til) ou 'A' (capital A com um círculo no topo)? (Isto supõe um deles está usando Latin 1, daí a E9, que eu acho que é muito provável)

EDIT: solução de Paulo faz isso. A resposta sobre o charset é: hp-roman8

Foi útil?

Solução

Sybase automaticamente tenta fazer uma conversão, se existem diferentes charactersets sendo usados ??no servidor eo cliente. Se você ativar a conversão automática charset fora de usar,

set char_convert off

você ainda obter o mesmo 'O' e de 'A'?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top