HMG - Unicode x ANSI

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

HMG - Unicode x ANSI

Mensagem por Mario Mesquita »

Olá.

Itamar, pois é... Veja, em ANSI já me resolveu. Mas entendendo o quer dizer, talvez valha a pena fazer com o Unicode, pensando a longo prazo.

Como o Quintas, meu trabalho é desktop e é pra uso local. Não me afetaria a princípio. Mas de fato, a interação com dados via internet, receber e enviar
arquivos exigiria conversões e talvez nunca fique 100% perfeito. Como pretendo migrar pro MySql, já começo adequado a esse padrão, ao invés de ter que fazer diversas conversões e migrações. Com a possibilidade de virar um padrão em futuro próximo, talvez valha a pena investir no Unicode. Hoje não faria muita diferença, mas pro futuro, vai que...

Se é se ralar nas ostras, melhor agora e não se preocupar mais com isso.

Sds,
Mario.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG - Unicode x ANSI

Mensagem por JoséQuintas »

Pensando bem...
Voltando à questão levantada pelo Itamar...

A importação de dados NÃO tem a ver com NOSSO aplicativo, e sim com o DOS OUTROS.
Mudar nosso aplicativo pra UTF-8 não altera os dados gerados por aplicativos de outros.

Isso automaticamente descarta o uso de UTF-8 pra resolver problemas de integração, porque não temos acesso aos aplicativos dos outros.
Esses problemas vão continuar, com ou sem UTF-8 em nosso aplicativo.

Se fosse tão simples assim, era só fazer toda importação usando a conversão de UTF-8 pra Ansi.
Se converter a importação de UTF-8 pra Ansi não resolve, então mudar o aplicativo pra UTF-8 também não vai resolver.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

HMG - Unicode x ANSI

Mensagem por Itamar M. Lins Jr. »

Olá!
É uma coisa para se fazer, quando estiver "com tempo", mas todo mundo vive "sem tempo".
Apenas digo que a tendencia são as IDE's usarem como padrão UTF8, no editor de código inclusive.
As paginas HTML novas usam UTF8 mas tem muita coisa antiga, vai quê, pode existir algum hiperlink, sei lá o quê com outra configuração....
Para quem faz as IDE's é uma dor de cabeça a menos, a tal internacionalização.
Estou abrindo o editor de código no Linux(kate) e já é UTF8, vou para VSCODE já usa UTF8... Se edito um fonte meu antigo está tudo PTISO, já bagunça os acentos... Basta entender isso, se vai mudar ou não é critério individual, isso não irá afetar nada é apenas a grama que mudou de cor.
Pode ser melhor ou pior depende da situação de cada um. Mas UTF8 é uma melhora em se tratando do assunto. O programador novo vai adotar, até pq não vai nem perceber isso. Porém os antigos? É de acordo a necessidade.
Para que está chegando, se vai editar um .prg novo já está em UTF8, vai criar a base de dados está em UTF8, telas a mesma coisa.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

HMG - Unicode x ANSI

Mensagem por Itamar M. Lins Jr. »

Olá!
Aqui um problema que pode acontecer.
Screenshot_20210416_121331.png
O padrão no Debian usa UTF8, mas no windows, LATIN1

Dai, podemos sem perceber instalar o servidor no debian(linux), e digitar ou usar um programa ANSI.

Código: Selecionar todos

...WHERE NOME LIKE ‘JOÃO%'
Vai falhar se digitar isso e não estiver em UTF8, tanto faz se no .exe ou no editor de códigos.
Este link descreve bem o problema, e veja que a solução é simples no final.

https://pt.stackoverflow.com/questions/ ... -para-utf8

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG - Unicode x ANSI

Mensagem por JoséQuintas »

Itamar M. Lins Jr. escreveu:Dai, podemos sem perceber instalar o servidor no debian(linux), e digitar ou usar um programa ANSI.
Nem olho qual é a codepage do servidor.

Código: Selecionar todos

            "CREATE TABLE IF NOT EXISTS JPTABCADGRU ( " + ;
            ...
            ") COLLATE=latin1_swedish_ci ENGINE=InnoDB" )

Código: Selecionar todos

   cStringConnection += "Collation=latin1_swedish_ci;" 
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG - Unicode x ANSI

Mensagem por JoséQuintas »

mysql.png
mysql2.png
Um no meu servidor Windows MariaDB, outro no provedor de internet em Linux MySQL
Nota: acabei de zerar meu servidor pra instalar backups atualizados
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

HMG - Unicode x ANSI

Mensagem por Mario Mesquita »

Alô vcs.

Então, pra realmente usar a BD em UTF-8 tenho que declarar o collate, senão ele assume "latin1'" por ser default, né?

Sobre o meu sistema, antes de mexer no monte de telas, já que sei que tem que editar tudo e redigitar os caracteres acentuados, vou preparar uma migração pra converter as tabelas, ler as que estão em ANSI, e gravar nas novas convertendo pra UTF-8. Estando tudo bem, mudo os forms.

Bem ou mal, tenho o sistema em ANSI operacional, qualquer coisa posso até usa-lo até ter o Unicode todo ok. Estou inclinado a fazer logo, assim me arrebento hoje mas fico tranquilo amanhã.

Senão, fico preso no ANSI, migro pro SQL em ANSI tb e vai que algo obriga a usar UTF-8? Se é pra se lascar, que seja agora, eheheh

Obrigado pela valiosa opinião de vocês, me deu uma direção, na verdade duas. Agora é ver o que convém mais pro serviço.

Saudações,
Mario.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

HMG - Unicode x ANSI

Mensagem por Itamar M. Lins Jr. »

Olá!
Em outro post seu, falou de estudar outras linguagens.
Veja lá qual é a CHARSET padrão do outro editor... Veja se não é UTF8.
Aqui, são todos por padrão UTF8. Qualquer linguagem nova usa VSCODE como padrão ou indica esse editor.
Screenshot_20210416_171021.png
Olhem ai o que acontece quando abro prg com PTISO
Screenshot_20210416_171414.png
UTF8 é padronização não é bagunça.
Se precisar abrir um texto em espanhol ? etc... Mas eu nunca vou precisar disso! Quem sabe ? Quem sabe do futuro ?
No MSDOS não existia nada disso era 437 inglês sem acentos depois veio os autoexec.bat da vida para acentuar, depois WINDOWS OS, depois veio... É a vida.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

HMG - Unicode x ANSI

Mensagem por Itamar M. Lins Jr. »

Olá!
Senão, fico preso no ANSI, migro pro SQL em ANSI tb e vai que algo obriga a usar UTF-8? Se é pra se lascar, que seja agora, eheheh
Olhe esse link que é bem esclarecedor.

https://forum.scriptcase.com.br/t/chars ... cona/21129

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder