Ir para conteúdo
  • Cadastre-se

dev botao

Problema Ao Trazer Campo Text No Delphi 2010


  • Este tópico foi criado há 3875 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia Pessoal.

 

   Estou migrando minha aplicação do Delphi 7 para o Delphi 2010 e estou tendo um grande problema com os campos Text do SQL Server 2005.

 

   O que acontece é que minha aplicação já compilado em Delphi 2010 não está retornando de forma correta o conteudo do campo Text.

 

Delphi 7 - Conteudo do campo Text

STANDARD
PROTETOR

Delphi 2010 - Como está aparecendo agora

{ \ r t f 1
\ a n s i \ d e f f 0 { \ f o n t t b l { \ f 0 \ f n i l \ f c h a r s e t 0 T a h o m a ; } { \ f 1 \ f n i l T a h o m a ; } }

 

\ v i e w k i n d 4 \ u c 1 \ p a r d \ l a n 1 0 4 6 \ f 0 \ f s 1 6
S T A N D A R D \ p a r

P R O T E T O R \ p a r

\ f 1 \ p a r

}

 

   Estou utilizando o ADODataSet, DataSetProvider, ClientDataSet e colocando o conteudo do Text em um DBRichEdit.

 

   Estava tudo funcionando perfeitamente no Delphi 7, mas não consigo descobrir o que pode esta acontecendo com o Delphi 2010.

 

Fico no aguardo de qualquer ajuda.

 

Abraços

 

Hernane

Editado por HernaneRibeiro
Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

 

Obrigado pela ajuda EMBarbosa

 

   Bom seguindo esse exemplo deu certo, mas não teria outra maneira de manipular o conteúdo do Text, pois como estou trabalhando direto com o TDBRichText e temos muitos tabela com campos Text e fazer dessa forma seria muito mais complicado do que trabalhar direto com o TDBRichText.

 

   Procurando na internet vi que isso tem a ver com o UNICODE, já que ele foi incorporado no Delphi.

 

   E pra piorar a situação quando eu gravo um conteúdo novo no Text ele fica com caracteres em "Japonês / Chines" no SQL Server, mas na aplicação ele fica certo.

 

   Não querendo pedir muito, mas já pedido, teria outra solução mais pratica e com possibilidade de continuar a utilizar o TDBRichText ?

 

Abraços.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Então,

   Teoricamente falando, se na hora de salvar o conteúdo tudo for salvo como UNICODE e na hora de retornar os valores eles forem retornados como UNICODE, então não teria nenhum problema.

   Sabe dizer se o campo da tabela é unicode? Creio que seja pois está dizendo que mostra caracteres semelhantes ao Kanji.

   Você está usando quais componentes para conexão do BD? Eles estão todos configurados para trabalhar em UNICODE?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Então,

   Teoricamente falando, se na hora de salvar o conteúdo tudo for salvo como UNICODE e na hora de retornar os valores eles forem retornados como UNICODE, então não teria nenhum problema.

   Sabe dizer se o campo da tabela é unicode? Creio que seja pois está dizendo que mostra caracteres semelhantes ao Kanji.

   Você está usando quais componentes para conexão do BD? Eles estão todos configurados para trabalhar em UNICODE?

 

Então,

   Estou utilizando o AdoConnection, AdoDataSet, DataSetProvider e ClientDataSet, mas se precisar alterar faço sem problema, pois o banco de dados é muito grande e seria mais fácil alterar os componentes do que tratar as informações contina no SQL.

 

Mais uma vez muito obrigado.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Se for possível fazer isso sem comprometer o conteúdo já gravado faço sim, mas já procurei e também não achei nada sobre UNICODE no SQL.

 

Abraço

Está relacionado com a configuração de uma codepage. Não tenho prática com SQL SERVER, não posso ajudar nessa área.

 

 

Então,

   Estou utilizando o AdoConnection, AdoDataSet, DataSetProvider e ClientDataSet, mas se precisar alterar faço sem problema, pois o banco de dados é muito grande e seria mais fácil alterar os componentes do que tratar as informações contina no SQL.

 

Mais uma vez muito obrigado.

Não creio ser necessário alterar os componentes. A questão é ter certeza que eles estão tratando ou convertendo de e para unicode corretamente.

 

Li num tópico do StackOverflow que pode ser uma opção alterada na string de conexão. No caso, foi adicionado DISABLEUNICODE=0 na string, e isso resolveu o problema. Não sei se aplica, mas você pode testar...

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Está relacionado com a configuração de uma codepage. Não tenho prática com SQL SERVER, não posso ajudar nessa área.

 

 

Não creio ser necessário alterar os componentes. A questão é ter certeza que eles estão tratando ou convertendo de e para unicode corretamente.

 

Li num tópico do StackOverflow que pode ser uma opção alterada na string de conexão. No caso, foi adicionado DISABLEUNICODE=0 na string, e isso resolveu o problema. Não sei se aplica, mas você pode testar...

 

Tentei com o DISABLEUNICODE=0, mas não obtive sucesso, vi nesse link http://stackoverflow.com/questions/3864911/insert-unicode-chars-to-mysql-with-delphi-2010, parece que o ADOConnection não tem suporte ao UNICODE, mas meu inglês não é lá essas coisas então não tenho certeza.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Você viu que no tópico do SO o usuário citou um outro site? Esse daqui.

Parece que ele tentou seguir as orientações deste link, mas não conseguiu. Talvez você consiga.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

   Cara muito obrigado pela ajuda, mas ainda não consegui solucionar o problema e estou com um tempo limitado para isso, acho que vo voltar tudo pro Delphi 7, já que estava rodando perfeitamente.

 

   Mas queria muito migrar para o Delphi 2010, só não pensei que daria tanto trabalho como está dando, mas se você acha alguma coisa a respeito do meu problema, por favor me avise que assim que possível gostaria de migrar.

 

   Mais uma vez muito obrigado.

 

Abraços.

Editado por HernaneRibeiro
Link para o comentário
Compartilhar em outros sites

  • Consultores

   Infelizmente ADO não é meu forte...

   Mesmo que você disse que seu inglês não seja seu forte, eu sugeriria você procurar ajuda no StackOverflow ou no fórum da própria Embarcadero na área de ADO. Em todo caso, há também listas de discussão Delphi em português.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Uma pergunta você falou que está migrando do delphi7 para o delphi 2010, está com eles instalados no mesmo SO?

se sim fez a configuração que o Isaque postou no blog dele para funcionar mais de um delphi no mesmo windows?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Qual o "Collation" que está definido no seu banco ? 

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Uma pergunta você falou que está migrando do delphi7 para o delphi 2010, está com eles instalados no mesmo SO?

se sim fez a configuração que o Isaque postou no blog dele para funcionar mais de um delphi no mesmo windows?

 

Olá Juliomar.

 

  Não, estou utilizando uma outra máquina só com o Delphi 2010.

Link para o comentário
Compartilhar em outros sites

Bom dia, tente mudar para SQL_Latin1_General_CP1_CI_AI

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3875 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.