Dois drivers no pacote da MySQL AB e charsets infernais  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

Caras que coisa irritante esses charsets. Nós aqui fazemos uma consulta no MySQL (Latin 1) e no HTML gerado aparece ? no lugar de acentuados, cedilhas etc. Bem, dei uma pesquisada aqui e lembro de uma parada de substituir drivers. Bem o problema está "resolvido", mas eis que vos pergunto:

Alguém sabe por que que o pacote MySQL Connector da MySQL AB vem com dois drivers, org.gjt.mm.mysql.Driver e com.mysql.jdbc.Driver?

E por que que trocando o segundo pelo primeiro meu problema acabou?

PS: no prompt do Windows rodo uma classe (que usa o segundo driver se não me engano) que um colega fez e na saída do comando eu consigo ver os caracteres direito usando -Dfile.encoding=cp850, e no Linux nem é necessário essa opção. Alguém compreende o por quê dessas coisas?

This message was edited 3 times. Last update was at 17/02/2012 17:02:08

Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

org.gjt.mm.mysql.Driver eh o driver antigo, e somente existe por compatibilidades. Porem, ele aponta para o oficial, portando vc nao deveria estar tendo diferencas entre um ou outro.

Encoding eh complicado, e voce tera diferentes situacoes dependendo da maquina onde o sistema rodar. Ha um stick aqui no guj sobre o assunto.

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

Rafael Steil wrote:Porem, ele aponta para o oficial, portando vc nao deveria estar tendo diferencas entre um ou outro.




Rafael Steil wrote:...diferentes situacoes dependendo da maquina onde o sistema rodar...


Não me diga essas coisas que me dá calafrios...

Bem um dia a luz virá sobre mim e me explicará esse fato paranormal então...

Acho que vou fazer faculdade de Charsetologia

Valeu Rafael...

Mais algum iluminado? hehehe
caiofilipini
GUJ Master
[Avatar]

Membro desde: 26/06/2003 15:17:59
Mensagens: 1255
Localização: São Paulo
Offline

renato3110 wrote:Acho que vou fazer faculdade de Charsetologia


Você pode começar por aqui:
http://www.joelonsoftware.com/articles/Unicode.html



[]'s

Caio N. Filipini
"There is no spoon."
[Email] [WWW]
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

caiofilipini wrote:Você pode começar por aqui...


Eu já imprimi isso hoje hehehehe
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

Caras descobri que com um pacote mais antigo mysql-3.0.8.jar é que os caracteres aparecem corretamente, eu estava usando o mysql-connector-java-3.1.6-bin.jar. Bom como eu acho melhor usar o driver mais novo, vou pesquisar quando puder como configurat o charset no driver, acho que tem como.
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Por que no windows funciona diferente do linux? O charset padrão, também conhecido por nativo, é diferente.

No windows é o cp850, no linux isso pode ser configurado. Por padrão eu sempre configuro para usar iso-8859-1 ou utf-8.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

renato3110 wrote:Caras descobri que com um pacote mais antigo mysql-3.0.8.jar é que os caracteres aparecem corretamente, eu estava usando o mysql-connector-java-3.1.6-bin.jar. Bom como eu acho melhor usar o driver mais novo, vou pesquisar quando puder como configurat o charset no driver, acho que tem como.


O 3.1.6 me pareceu estupidamente ruim. No JForum eu estou com o 3.1.4-beta e funciona perfeitamente com todas as versoes do mysql, inclusive as mais novas. Porem, basta mudar para o 3.1.6 que exceptions bizarrissimas comecam a acontecer pelo sistema.

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

louds wrote:Por que no windows funciona diferente do linux? O charset padrão, também conhecido por nativo, é diferente.

No windows é o cp850, no linux isso pode ser configurado. Por padrão eu sempre configuro para usar iso-8859-1 ou utf-8.


Bem queimando meus neurônios cheguei à seguinte teoria:

O driver antigo joga o Latin-1 do banco como saída, mas o Windows tenta ler usando outro encoding e aparece aqueles ??, o que pra mim parece ser um encoding de Unicode. As questões são:

- Por que, mesmo no driver antigo, só com -Dfile.encoding=cp850 a coisa funciona? O que seria esse cp850? Isso é um encoding de Unicode? As opções -Dfile.encoding=UTF-8, -Dfile.encoding=iso-8859-1 (=latin1) e -Dfile.encoding=latin1 não funcionam.

- Por que no Linux funciona sem opção nenhuma? Provavelmente meu colega não alterou o encoding padrão que é UTF-8 né? Será que é uma opção "file.encoding" padrão?

- No caso da web, o Tomcat é que gera a saída do JSP, e funciona normal com o driver antigo, mas no Windows tem que usar esse cp850 com falei acima. Uai?

Rafael Steil wrote:
O 3.1.6 me pareceu estupidamente ruim. No JForum eu estou com o 3.1.4-beta e funciona perfeitamente com todas as versoes do mysql, inclusive as mais novas. Porem, basta mudar para o 3.1.6 que exceptions bizarrissimas comecam a acontecer pelo sistema.


Rafael, poderia me dar um link para esse driver que você usa, que é mais novo do que o meu que não dá problema? É que quero distribuir o driver mais novo possível.

PS: vou ver se instalo ainda hoje o JForum aqui na intranet da empresa. Bem queria perguntar uma coisa a respeito, já que você é o mantenedor: não existe um projeto para estender o JForum a um "sistema de conteúdo" como o Xoops por exemplo?

This message was edited 3 times. Last update was at 17/02/2012 17:01:54

Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

Voce pode pegar na pagina de downlad do connector/j mesmo. La no ftp tem todas as versoes.
As razoes para o encoding funcionar em uma versao duma maneira e em outra versao de outra maneira geralmente sao pq os desenvolvedores refatoram o codigo por algum motivo. Para ter certeza mesmo, o melhor seria vc verificar com eles.

Nao, nao tem nenhum projeto assim baseado no jforum ainda. Pelo menos nao que eu saiba.

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

renato3110 wrote:
PS: vou ver se instalo ainda hoje o JForum aqui na intranet da empresa. Bem queria perguntar uma coisa a respeito, já que você é o mantenedor: não existe um projeto para estender o JForum a um "sistema de conteúdo" como o Xoops por exemplo?


OFF topic vindo.. que tal SnipSnap?

[]s

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

Rafael Steil wrote:...Voce pode pegar na pagina de downlad do connector/j mesmo. La no ftp tem todas as versoes.


Vlw.

Rafael Steil wrote:
...Nao, nao tem nenhum projeto assim baseado no jforum ainda. Pelo menos nao que eu saiba.

Rafael


Bem estou te perguntando isso porque o que eu quero é montar um site da informática com outroas coisas e não apenas um Fórum, entende? Eu pensei que o GUJ 2.0 fosse uma coisa dessas e baseado no JForum.

pcalcado wrote:OFF topic vindo.. que tal SnipSnap?


SnipSnap? Vou procurar por isso depois.
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team