Problemas com acentos no Firebird
29/11/2005
0
Joule
Posts
29/11/2005
Jairroberto
Você deve utilizar o Charset adequado no componente de conexão com o banco de dados Firebird. Para o Brasil o ideal é ´WIN1252´. O problema também pode estar relacionado ao tamanho do nome que você está informando. Se ele for maior do que o tamanho do campo correspondente no banco de dados ele não será aceito por ´string truncation´.
Um abraço,
Jair
30/11/2005
Joule
Project Teste.exe raised exception class EDatabaseError with message
´arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
´. Process stopped.
[/img][/url]
30/11/2005
Joule
30/11/2005
Jairroberto
O CharSet precisa estar definido no campo do banco de dados que receberá caracteres acentuados, incluindo o ´CHARSET WIN1252´ na cláusula de criação da tabela/campo, ou usando ´SET NAMES WIN1252;´ no início do script de criação da tabela/campo, E TAMBÉM nos parâmetros (propriedade Params) do SQLConnection utilizado para fazer a conexão com o banco. O item é ´ServerCharSet=WIN1252´.
Quanto ao COLLATE, tanto faz. Ele só influencia na ordenação dos registros retornados por um SELECT com ORDER BY pelo campo que possui COLLATE. O melhor, na minha opinião, para o nosso idioma é o ´PXW_INTL850´.
Um abraço,
Jair
Clique aqui para fazer login e interagir na Comunidade :)