| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2008 07:24:02
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
Olá,
olha eu de novo.
Desta vez, estou com problemas (este sempre foi um problema que não consigo resolver) ao enviar caracteres do textarea de um formulário, por exemplo, ao banco de dados.
Sempre que o usuário pula uma linha, insere um caracter não reconhecido pelo banco.
Devo modificar a codificação do banco? será preciso fazer isso? (está no padrão - latin1).
Para mostrar melhor o problema, segue uma imagem:
Já tentei mudar a variável para TEXT mas não resolveu.
E só acontece isso quando ele dá um enter ou tab.
Poderiam me dar uma forcinha?
[]s
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2008 07:58:28
|
nextuser
JavaEvangelist
![[Avatar]](/images/avatar/fe10b3c08a1273145b1df65fc4ba484b.png)
Membro desde: 15/12/2008 11:21:08
Mensagens: 400
Localização: São Paulo, Brazil
Offline
|
mas quando vc recupera o valor do banco para mostrar no view ele apresenta estes caracteres estranhos?
esse caractere que vc mostrou na imagem representa quebra de linha mas provavelmente o SW que está utilizando para vizualizar os dados da base de dados está te mostrando que tem uma quebra de linha, creio que quando vc recuperar o dado da base para um String isso ai vai virar um \n.
oq vc pode fazer como teste é antes de gravar na base mandar logar no console por exemplo o valor da caixa, provavelmente ele vai mostrar direitinho com quebra de linha.
|
Hudson Afonso
Consultor
http://penseinteligente.com.br/
Pense Inteligente:
A Inteligente é uma consultoria em tecnologia da informação, que atua na comercialização e implementação de produtos de software corporativos. Com foco no cliente, compreendemos a necessidade de nossos clientes e adicionamos valor para a condução de seus negócios.
Focus:
SPED, Saneamento de Cadastro, Saneamento de Dados, Cadastro de Clientes e Fornecedores, Cadastro da Receita Federal, CNPJ, CPF, Cadastro, Correção de Cadastro para o SPED, Exigências legais para o SPED, Cadastro CNPJ, Certidão CNPJ, Comprovante CPF, Consulta CPF, Consulta Serasa, Consulta SPC, Nota Fiscal Eletrônica, SPED Contábil, SPED Fiscal |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2008 08:37:27
|
LuizRocha
JavaChild
![[Avatar]](/images/avatar/c36b81d5293acd2e3d41f1bdc1d0aefb.jpg)
Membro desde: 07/07/2006 01:38:04
Mensagens: 109
Localização: Fortaleza - CE
Offline
|
Deixa eu ver se eu entendi:
Um usuário usa uma interface gráfica para inserir dados textuais num banco de dados. Quando esse usuário aperta TAB ou ENTER, é inserido no database caracteres não alfa-numéricos, e isso está te incomodando.
Bem, algo assim já aconteceu comigo: quando eu ia ver no banco o que havia sido inserido, existiam caracteres estranhos em letras acentuadas ou no lugar dos "ç". No entanto, quando a minha aplicação recuperava os dados do banco, esses caracteres estavam normais novamente. Quando eu dava um jeito de eles ficarem normais no banco, eles ficavam esquisitos na aplicação.
Talvez algo semelhante esteja acontecendo com você. Observe se os caracteres voltam ao normal quando a aplicação os recupera do banco de dados.
Caso isso não aconteça, ainda existe uma solução mais "gambiarrística": use um método da classe String que substitua os caracteres esquisitos pelos desejados. Assim, para cada String lida do banco de dados, você pode substituir aquele caractere esquisito pelo '\n' e o outro pelo '\t'.
Pesquise na documentação API java sobre a classe String. Estou certo de que ela tem um método que substitui caracteres.
Espero ter sido de ajuda. Boa sorte.
|
Amar é pôr-se no lugar do outro e agir. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2008 09:08:13
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
Então deve mostrar na aplicação com um \n ou \t mesmo, mas não estou utlilizando o out.println, então é por isso que nem chega a recuperar os valores com estes caracteres.
Eu também insiro por PreparedStatement, então uso setObject, o que deveria inserir os caracteres normalmente.
Também mudei a codificação das duas páginas, a que envia e a que recebe o form mas não resolveu.
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2008 10:03:30
|
LuizRocha
JavaChild
![[Avatar]](/images/avatar/c36b81d5293acd2e3d41f1bdc1d0aefb.jpg)
Membro desde: 07/07/2006 01:38:04
Mensagens: 109
Localização: Fortaleza - CE
Offline
|
Então deve mostrar na aplicação com um \n ou \t mesmo
Experimente pra ver. Creio que irá pular a linha e dar a tabulação, mesmo que você não esteja usando out.println.
Esse tipo de problema não deve existir, muita gente usa Java e banco de dados, inclusive inserindo dados textuais onde linhas são saltadas.
Você deve estar perto da solução, só precisa procurar melhor - quem sabe exemplos?
Boa sorte!
|
Amar é pôr-se no lugar do outro e agir. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2008 13:46:35
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
E como posso fazer isso?
Já tentei pegar os dados convertendo a codificação do banco mas não deu certo.
Então como tenho que fazer ?
[]s
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2008 07:30:19
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
É... agora uma porção bem grande...
Justo nas quebra de linhas.
Isso impede que os dados sejam recuperados pela aplicação =/
Não sei como resolver...
This message was edited 1 time. Last update was at 17/12/2008 07:31:46
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2008 09:54:07
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
Percebi como os dados eram recuperados.
Bom, a quebra de linha sempre vai ficar assim no banco de dados, pois até mesmo o software que uso pra programar, (RJ TextEdit) usa símbolos para quebra de linha.
Então o problema está ao recuperá-los.
Deixa eu explicar melhor como o problema acontece:
Na verdade no textarea está tudo bem, acontece que eu uso um editor de textos na aplicação, onde ele é em javascript.
Já troquei de editor umas 5 vezes e todos possuem este problema ao receber estes dados do banco com quebra.
Texto retornado
Editando em um textarea - seria impossível um usuário
que não entenda de html editar assim
Então resolvi colocar javascript de editores mas...
E descobri o porque disso:
peguei o código fonte da página já processada pelo browser (html) e vi que dentor do editor, o texto ssía da linha:
var editor1 = new EDITOR();
editor1.create('<P>Digite seu texto aqui.... </P>
<P>Digite seu texto aqui.... Digite seu texto aqui.... Digite seu texto aqui.... Dig
');
Alguém que usa editores em javascript para acessar banco de dados, poderiam me ajudar?
obrigado.
[]s
This message was edited 1 time. Last update was at 17/12/2008 10:17:19
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
|
|