Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marceloa877

Problema com datos texto

Recommended Posts

Olá, Pessoal Estou com o seguinte problema, estou trabalhando com delphi7 windows 7 64 bits e Oracle banco de dados xe.

Quando tento enviar do delphi através de um dbMemo o seguinte texto you shall bless the Children of Israel. May the Lord bless you and safeguard you.’
NUMBERS (6:23,24)

דַּבֵּר אֶל אַהֲרֹן וְאֶל בָּנָיו לֵאמֹר כֹּה תְבָרְכוּ אֶת בְּנֵי יִשְׂרָאֵל אָמוֹר לָהֶם יְבָרֶכְךָ יְ-הוָה וְיִשְׁמְרֶךָ

שמות ו:כג-כד

ele informa ao banco algo assim

you shall bless the Children of Israel. May the Lord bless you and safeguard you.’ NUMBERS (6:23,24) ??????? ??? ??????? ????? ??????? ?????? ???? ????????? ??? ?????? ?????????? ?????? ????? ?????????? ??-???? ????????????? ???? ?:??-??

quando gravo direto no banco fica normal ou seja o problema e com o componente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Isso tema ver com a codificação dos caracteres. Você já experimentou utilizar alguma função que converta para UTF8 e ver o resultado?

 

Obs: Quando você envia diretamente para o banco, ele não faz nenhum "tratamento" no seu insert into, apenas dentro do banco de dados é que ele vai ser reconhecido como algo válido ou não.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Pessoal Estou com o seguinte problema, estou trabalhando com delphi7 windows 7 64 bits e Oracle banco de dados xe.

 

Quando tento enviar do delphi através de um dbMemo o seguinte texto you shall bless the Children of Israel. May the Lord bless you and safeguard you.’

NUMBERS (6:23,24)

 

דַּבֵּר אֶל אַהֲרֹן וְאֶל בָּנָיו לֵאמֹר כֹּה תְבָרְכוּ אֶת בְּנֵי יִשְׂרָאֵל אָמוֹר לָהֶם יְבָרֶכְךָ יְ-הוָה וְיִשְׁמְרֶךָ

 

שמות ו:כג-כד

 

ele informa ao banco algo assim

 

you shall bless the Children of Israel. May the Lord bless you and safeguard you.’ NUMBERS (6:23,24) ??????? ??? ??????? ????? ??????? ?????? ???? ????????? ??? ?????? ?????????? ?????? ????? ?????????? ??-???? ????????????? ???? ?:??-??

 

quando gravo direto no banco fica normal ou seja o problema e com o componente.

 

 

Oi, pessoal achei este codigo para converter strings em ansi utf8pelo que entendi ele pega o conteúdo da variável strings e a converte, isso é se não estou errado.como fazer para fazer funcionar com o dbmemo?procedure ConvertANSIFileToUTF8File(AInputFileName, AOutputFileName: TFileName); var Strings: TStrings;begin Strings := TStringList.Create; try Strings.LoadFromFile(AInputFileName); Strings.Text := UTF8Encode(Strings.Text); Strings.SaveToFile(AOutputFileName); finally Strings.Free;end;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Acredito que o princípio seja o mesmo, uma vez que o objeto TDBMemo seja uma classe derivada de TCustomMemo. No entranto, eu faria algo mais direto:

 

 

SuaQuery.FieldByName('CAMPO').AsString := UTF8Encode( sValor );

 

Lembrando que nesse exemplo, estou passando o conteúdo diretamente para o campo da minha tabela, e como existe o vinculo com ela através das propriedades DataSource e DataField do meu DBMemo, já vai refletir o conteúdo convertido, a menos que internamente ele não consiga tratar os caracteres, mas ai eu não vou saber te dizer, só fazendo esse teste mesmo pra ver.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu rodrigo, mas verificando melhor, é quando eu colo o texto no db memo ou outro componente do delphi já vem o erro, ou seja ele

já apresenta os caracteres de interrogação não me parece ser com o banco de dados, pelo fato de outros componentes mesmo sem a ligação com o banco também não receberem os textos corretamente. parece-me ter haver com as fontes, porém, no Delphi ou posso estar enganado.já tentei a solução sem êxito da maneira que se encontra abaixo:

 

procedure TF_ESTUDO.BitNovoClick(Sender: TObject);
begin
editar;
try
dmdados.tblEstudo.Append;
dmdados.tblestudo.FieldByName('ESTUDO').AsString := UTF8Encode(Mtexto.Text);

except
on E: Exception do MessageDlg(E.Message, mtError, mbOKCancel, 0);
end;
end;

 

Lembrando que o problema não se refere, ou não está no Banco de dados Oracle XE uma vez que quando colo o texto direto no banco ele recebe sem problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Nesse caso, tente alterar a codificação do texto do editor da sua IDE. Não sei qual versão do delphi você está utilizando, mas se não me engano a partir das mais recentes - "2010" você pode alterar isso, acredito que possa resolver.

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.