| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2009 16:25:50
|
Flasoft
JavaGuru
![[Avatar]](/images/avatar/afb0b97df87090596ae7c503f60bb23f.jpg)
Membro desde: 22/05/2006 15:46:02
Mensagens: 230
Localização: Araraquara (SP interior)
Offline
|
Pessoal estou fazendo um select simples com jpa/hibernate em uma tabela:
Deveria retornar uma lista de beans to tipo Genero cujo a propriedade Descricao fosse respectivamente: Ação, Animação, Comédia...
mas retorna: A?Æo, Anima?Æo e Com?dia
Então achei um exemplo (http://www.profissionaisdeweb.com/desenvolvimento/resolva-os-problemas-de-acentos-no-mysql-em-campos-blob-e-outros/) e adaptei:
para conv a coluna para utf:
Então passou a retornar: A��o, Anima��o, Com�dia...
Minha url estou utilizando a url de conexão:
jdbc:mysql://localhost:3306/MeuDB?characterEncoding=UTF-8
mas já tentei e tive o mesmo resultado para:
jdbc:mysql://localhost:3306/MeuDB
jdbc:mysql://localhost:3306/MeuDB?useUnicode=true&characterEncoding=UTF8
jdbc:mysql://localhost:3306/MeuDB?characterEncoding=UTF8&characterSetResults=UTF8
jdbc:mysql://localhost:3306/MeuDB?useUnicode=true&characterEncoding=UTF8&characterSetResults=UTF8
Em todos os meus XHTMLs eu coloco na primeira linha:
<?xml version="1.0" encoding="UTF-8"?>
e no body da pagina(template) eu coloco também:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Alguém tem alguma idéia do que está ocorrendo?
This message was edited 1 time. Last update was at 17/12/2009 16:27:11
|
Blog: http://flasoft.blogspot.com
SCJP5
Achoqueminhabarradeespaçosestácomproblemas
eU connsigg diggtar 500 caratereteres porr minito |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2009 17:14:19
|
Flasoft
JavaGuru
![[Avatar]](/images/avatar/afb0b97df87090596ae7c503f60bb23f.jpg)
Membro desde: 22/05/2006 15:46:02
Mensagens: 230
Localização: Araraquara (SP interior)
Offline
|
Após um dia tentando e tentando constatei que o culpado é o Windows!
Utilizo Windows Vista Home.
Estava executando o insert pelo programa MySQL Command Line Client(console desenvolvido para o MySQL), este console no windows abre em uma DOS, as janelas do DOS, utilizam ISO-XXXX-X(provavelmente 8859-1, padrão microsoft), então quando eu digitava o insert na janela do DOS ela enviava para console um insert á estragado, de charset diferente do banco!
quando eu fazia o select a console retornava o binario para a janela do DOS, que intepretava da maneiro correta para ela, mas no banco já estava guardado de forma errada, a janela do dos que me entregava o bin correto.
Ex:
Eu digito no na janela do DOS utilizando o charset default do DOS:
INSERT INTO `genero` (`id_genero`, `descricao`, `id_imagem_poster_padrao`) VALUES (2, 'Ação', null);
Ela envia para a console do banco que esta trabalhando com UTF e interpreta:
INSERT INTO `genero` (`id_genero`, `descricao`, `id_imagem_poster_padrao`) VALUES (2, 'A?Æo', null);
dai o banco salva na coluna descricao o binario equivalente a isto daqui: A?Æo
Quando faço um select pelo DOS ele faz o processo inverso:
Pega este binario converte para A?Æo devolve para a janela do DOS que converte para ISO_XXXX_X que sai extamente o q ele qria...
Solucao este tipo de parametrizaçao, onde nao pretendo fazer uma tela de adm, vou fazer pelo MySql Query Browser, fornecido pela própria equipe MySql, ele leva em consideração o charset do banco, para executar os comando, extamente como minha aplicação, então funciona!
|
Blog: http://flasoft.blogspot.com
SCJP5
Achoqueminhabarradeespaçosestácomproblemas
eU connsigg diggtar 500 caratereteres porr minito |
|
|
 |
|
|
|
|