Qual Charset para acentuado com Firebird
Olá amigos, qual charset devo utilizar para aceitar caracteres acentuados.
Estou usando WIN1252 e pelo IBExpert, consigo incluir com acento sem problema, mas dentro do meu sistema, sempre dá erro. Crio o bd pelo ibexpert e informo o charset WIN1252 e ao criar as tabelas faço assim:
Há mais algo a configurar? No SQLConnection não há propriedade pra alterar?
Uma outra dúvida: No SqlConnection, na propriedade DriverName sempre ficará Interbase? Se não como alterar?
Obrigado pelo atenção
Mario
Estou usando WIN1252 e pelo IBExpert, consigo incluir com acento sem problema, mas dentro do meu sistema, sempre dá erro. Crio o bd pelo ibexpert e informo o charset WIN1252 e ao criar as tabelas faço assim:
set sql dialect 3; set names WIN1252; create table Historicos ( codemp integer not null , datainc date , horainc time , dataalt date , horaalt time , codhis integer not null , nomhis varchar(50) , constraint IP_Historicos primary key (codemp,codhis));
Há mais algo a configurar? No SQLConnection não há propriedade pra alterar?
Uma outra dúvida: No SqlConnection, na propriedade DriverName sempre ficará Interbase? Se não como alterar?
Obrigado pelo atenção
Mario
Aldus
Curtidas 0
Respostas
Sandra
07/06/2005
aldus,
Leia este [url=http://www.firebase.com.br/cgi-bin/firebase.cgi/dica?ID=1]artigo[/url] do FireBase.
[b:a6ffb3c9cf]Obs.:[/b:a6ffb3c9cf] Movido do fórum Banco de Dados.
Leia este [url=http://www.firebase.com.br/cgi-bin/firebase.cgi/dica?ID=1]artigo[/url] do FireBase.
[b:a6ffb3c9cf]Obs.:[/b:a6ffb3c9cf] Movido do fórum Banco de Dados.
GOSTEI 0
Bruno Belchior
07/06/2005
o seu problema está no collate utilizado nos campos varchar e char, procure por collate no fórum e irá achar o que preciza...
GOSTEI 0
Isabelct
07/06/2005
Há mais algo a configurar? No SQLConnection não há propriedade pra alterar?
Não utilizo DBExpress, mas no componente de conexão você precisa informar qual o CharSet que será usado para aquela conexão. Acredito que a propriedade em questão seja a ´ServerCharSet´, então nela você preencheria o seu CharSet, no caso, WIN1252.
Uma outra dúvida: No SqlConnection, na propriedade DriverName sempre ficará Interbase? Se não como alterar?
Até o momento, o driver do Interbase funciona bem tanto para Interbase quanto para Firebird. Nas versões futuras do Firebird, é provável que esta compatibilidade deixe de existir, mas por enquanto não há problemas.
GOSTEI 0
Aldus
07/06/2005
Amigos, tentei criei a tabela como abaixo, e continua ocorrendo o mesmo erro na acentuação, tenho que mencionar na conexão o charset ou alterar alguma outra propriedade? Uso sqlconnection
SET SQL DIALECT 3; SET NAMES WIN1252; CREATE TABLE BAIRROS ( CODEMP INTEGER NOT NULL, DATAINC DATE, HORAINC TIME, DATAALT DATE, HORAALT TIME, CODBAI INTEGER NOT NULL, NOMBAI VARCHAR(50) COLLATE PXW_INTL850 );
GOSTEI 0
Gandalf.nho
07/06/2005
Como o pessoal falou acima, vc deve informar o CHARACTER SET na conexão.
GOSTEI 0
Isabelct
07/06/2005
Amigos, tentei criei a tabela como abaixo, e continua ocorrendo o mesmo erro na acentuação, tenho que mencionar na conexão o charset ou alterar alguma outra propriedade? Uso sqlconnection
Você precisa especificar o CharSet e o Collate na criação da tabela.
SET SQL DIALECT 3; SET NAMES WIN1252; CREATE TABLE BAIRROS ( CODEMP INTEGER NOT NULL, DATAINC DATE, HORAINC TIME, DATAALT DATE, HORAALT TIME, CODBAI INTEGER NOT NULL, NOMBAI VARCHAR(50) CHARACTER SET WIN1252 COLLATE PXW_INTL850 );
E no componente SQL Connection você precisa especificar qual o CharSet que será utilizado na conexão.
GOSTEI 0