Clipper On Line • Ver Tópico - Dúvida ADO codepage

Dúvida ADO codepage

Discussão sobre SQL

Moderador: Moderadores

 

Dúvida ADO codepage

Mensagempor JoséQuintas » 07 Abr 2015 23:22

Fiquei confuso agora com o que encontrei.
Procurando a codepage do ADO, encontrei que a codepage default é UNICODE.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms681424(v=vs.85).aspx

Mas que eu me lembre, nenhuma LIB de ADO para o Harbour trata isso.

Alguém poderia confirmar isso, se precisa setar codepage Windows-1252 na conexão, caso seja usada PTISO no Harbour.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Dúvida ADO codepage

Mensagempor JoséQuintas » 07 Abr 2015 23:50

Por enquanto identifiquei estas possibilidades de configuração:

No Harbour
Alterar o default pra PTISO

Na conexão ADO:
Alterar o default de unicode pra CharSet="Windows-1252"

Na string de conexão do MySql:
Não sei se apenas o ADO é suficiente, ou se precisa alterar a string de conexão: Collation=latin1

No MySql, o default é UTF8 a não ser que seja alterado:
latin1_swedish_ci

A questão não é apenas o Harbour ler/gravar informação, mas os dados aparecerem corretamente se acessados por outra linguagem de programação.

No VB6, por exemplo, o default é unicode, igual ao ADO.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Dúvida ADO codepage

Mensagempor JoséQuintas » 08 Abr 2015 12:44

Notas adicionais:

No MySql mais antigo, o default pra tudo era latin1 - no servidor

No MySql atual, o default pra tudo é UTF8

Justamente por essa diferença é que me perdi.
Como vi diferença na hora de backup/restore via Harbour, acredito que precise algo mais.

No backup/restore, o backup é pelo Harbour, mas o restore é pelo HeidiSql.
Chega a rejeitar linhas com caracteres acentuados, e o pior, talvez como já exista mistura no banco de dados, o próprio restore pelo HeidiSql de um backup feito por ele mesmo também acusa alguns erros.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Dúvida ADO codepage

Mensagempor JoséQuintas » 08 Abr 2015 21:47

Pra confundir ainda mais:

http://stackoverflow.com/questions/25889046/difference-between-ansi-and-unicode-drivers-of-mysql

O ODBC 3.51 trabalha somente com Ansi
ODBCs mais modernos tem versão em Ansi e Unicode.

Já não sei mais qual seria a configuração correta.
Nenhuma resposta nem aqui nem no harbour-users.

Deixei tudo como latin1 (default latin_swedish_ci) e odbc 3.51 que trabalha com Ansi.
Isso implica em alterar o default do MySql Server atual, e incompatibilidade com HeidiSql.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Dúvida ADO codepage

Mensagempor alxsts » 09 Abr 2015 01:16

Olá!

Será que o MariaDB trata esta questão de alguma forma melhor que o MySQL?
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2943
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Dúvida ADO codepage

Mensagempor JoséQuintas » 09 Abr 2015 01:32

É tudo igual, seja MySql ou Mariadb.
Só considerar que o Mariadb sempre foi binariamente compatível com MySql, e os mesmos odbcs pra MySql funcionam no Mariadb.
Mesmas configurações existem nos dois.

No Harbour escolhemos a codepage em uso.
Acho que isso já é suficiente pra causar variações.
E se existe diferença, isso deve acontecer com qualquer LIB pra acessar o MySql.

Considero que vários por aqui usam MySql, baseado nas discussões sobre qual biblioteca usar pra MySql.

No momento, aqui, a diferença é ao comparar a consulta feita pelo Harbour e pelo HeidiSql.

O importante não é apenas o Harbour funcionar, mas o conteúdo da base de dados ser compatível com o mundo externo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro