Json
Moderador: Moderadores
Json
Bom dia,
Estou importando um arquivo em Json, quando tento tirar os acentos, de um nome "José João Gonçalves" com uma funçao que usamos a muito tempo e esta funcionando, fica assim "JosA JoA o GonA alves", se tentar novamente o resultado fica sempre diferente. Alguem tem uma solução para isto.
obrigado
Estou importando um arquivo em Json, quando tento tirar os acentos, de um nome "José João Gonçalves" com uma funçao que usamos a muito tempo e esta funcionando, fica assim "JosA JoA o GonA alves", se tentar novamente o resultado fica sempre diferente. Alguem tem uma solução para isto.
obrigado
Json
O arquivo pode estar no formato utf8. Tem uma função que converte utf8 para ansi. Aqui no fórum tem alguns exemplos. Vou ver se tenho algum aqui.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Json
Só pra reforçar:
NÃO existe um padrão em comunicação.
Pode funcionar num webservice de um jeito, e de outra forma em outro.
Pode precisar fazer o trabalho de conversão diferente pra cada webservice.
Fazer o que....
Poderiam aumentar a tabela ascii de 255 para 65536, mas isso significaria dobrar o tamanho de tudo, e mesmo assim poderia acabar não sendo suficiente.
Por enquanto inventaram o UTF8, que tem tamanho variável, e usa mais caracteres só aonde precisa.
Mesmo assim não se engane:
A tabela ascii continua com 255 caracteres.
Codepage diferente tem caractere diferente.
o UTF-8 tem todas juntas e ainda mais.
A conversão só vai ser 100% funcional se o caractere UTF-8 existir na codepage em uso.
Elementar:
Se a tabela ascii consegue representar 255 caracteres, mas o UTF-8 consegue representar milhares de caracteres... com certeza muitos deles não tem correspondência.
Vai ser tentativa e erro, e ver o que acontece.
NÃO existe um padrão em comunicação.
Pode funcionar num webservice de um jeito, e de outra forma em outro.
Pode precisar fazer o trabalho de conversão diferente pra cada webservice.
Fazer o que....
Poderiam aumentar a tabela ascii de 255 para 65536, mas isso significaria dobrar o tamanho de tudo, e mesmo assim poderia acabar não sendo suficiente.
Por enquanto inventaram o UTF8, que tem tamanho variável, e usa mais caracteres só aonde precisa.
Mesmo assim não se engane:
A tabela ascii continua com 255 caracteres.
Codepage diferente tem caractere diferente.
o UTF-8 tem todas juntas e ainda mais.
A conversão só vai ser 100% funcional se o caractere UTF-8 existir na codepage em uso.
Elementar:
Se a tabela ascii consegue representar 255 caracteres, mas o UTF-8 consegue representar milhares de caracteres... com certeza muitos deles não tem correspondência.
Vai ser tentativa e erro, e ver o que acontece.
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/
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/
Json
Pois é.
Eu procuro sempre dar uma resposta curta, mas realmente as coisas são do jeito que vc acabou de descrever. Antigamente era só o programa executável. Agora temos webservice, banco de dados, outros aplicativos, páginas HTML, etc. Cada parte com o seu padrão de codificação. O Utf8 veio para unificar, e o trabalho já está adiantado, mas sempre vai ter aplicativos com codificação diferente. E ainda tem a codificação do editor que usamos para programar. O nosso papel é saber a codificação de cada uma dessas partes e converter quando necessário.
Eu procuro sempre dar uma resposta curta, mas realmente as coisas são do jeito que vc acabou de descrever. Antigamente era só o programa executável. Agora temos webservice, banco de dados, outros aplicativos, páginas HTML, etc. Cada parte com o seu padrão de codificação. O Utf8 veio para unificar, e o trabalho já está adiantado, mas sempre vai ter aplicativos com codificação diferente. E ainda tem a codificação do editor que usamos para programar. O nosso papel é saber a codificação de cada uma dessas partes e converter quando necessário.
Json
Tenta hb_UTF8ToStr() e se ainda precisar de mais uma depois depois win_ANSITOOEM
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
Json
Não sei como seria, talvez algum outro colega.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Json
Se pensar direito....Vlademiro escreveu:O Utf8 veio para unificar, e o trabalho já está adiantado
UTF8 é pra representar todas as codepages ao mesmo tempo.
Você poderia cadastrar alguém da Rússia, China, Japão, Brasil, etc. no seu aplicativo, usando a codepage de origem do usuário.
Legal, jóia, lindo.....
Mas na hora de gerar pro banco, que só aceita os tradicionais, nenhuma conversão vai dar jeito.
Conclusão:
Mexeram, mexeram, mexeram.... e continua tudo a mesma coisa kkkk
Apenas trouxe mais trabalho para os aplicativos simples.
A nossa sorte é que as linguagens de programação continuam sendo em inglês, senão fud.... tudo.
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/
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/
Json
O banco utf8 aceita qualquer caractere utf8. Todos os bancos modernos já vem com utf8 como padrão. O que eu disse antes é que o desenvolvedor sempre vai ter que se deparar com codificações diferentes. Tem muito aplicativo que não trabalha com utf8 mas na hora que precisa, ele converte de/para utf8.
Agora tudo converge para o padrão utf8. Os novos aplicativos já surgem nesse mundo. Mesmo que vc nunca vá vender pra China, os bancos modernos já lhe direcionam para utf8. É só fazer um teste. A maioria dos novos clientes de bancos de dados já sugerem utf8, o html5 tb, até os editores.
Agora tudo converge para o padrão utf8. Os novos aplicativos já surgem nesse mundo. Mesmo que vc nunca vá vender pra China, os bancos modernos já lhe direcionam para utf8. É só fazer um teste. A maioria dos novos clientes de bancos de dados já sugerem utf8, o html5 tb, até os editores.
Json
Não sei de que banco vc está falando, que só aceita tradicionais. Só se vc está escolhendo trabalhar assim.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Json
Ainda não entendeu.Vlademiro escreveu:Não sei de que banco vc está falando, que só aceita tradicionais. Só se vc está escolhendo trabalhar assim.
UTF8... ok... vai aceitar José com acento.
O aplicativo.... ok, vai aceitar José com acento.
o banco.... NÃO vai aceitar José com acento.
Nesse caso não se trata de codepage, UTF-8, ou outra coisa qualquer, o banco NÃO aceita.
Na espanha, se não me engano tem N com acento.
No UTF-8 aceita N com acento.
Na codepage do Brasil NÃO aceita N com acento, não tem equivalente.
E no banco.. menos ainda.
Aí pergunto: No que ajudou gravar o N com acento? só pra tela ficar certa? só pra internet ficar certa?
E o resto? como fica?
UTF-8 aceita qualquer coisa ok, mas o resto não.
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/
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/
Json
De que banco vc está falando ?
Se for banco de dados todos os atuais aceitam e até colocam como padrão.
Se for tudo utf8 não tem problema.
Se for banco de dados todos os atuais aceitam e até colocam como padrão.
Se for tudo utf8 não tem problema.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Json
Ola!
ES850, PTISO, ANSI etc... isso tudo é velharia. UTF/Unicode veio para substituir.
Entendi o Vlademiro, mas não entendi o José Quintas.
Saudações,
Itamar M. Lins Jr.
Basta usar UTF8 ou UTF8EX no caso dos acentos no HB32/HB34De que banco vc está falando ?
ES850, PTISO, ANSI etc... isso tudo é velharia. UTF/Unicode veio para substituir.
Entendi o Vlademiro, mas não entendi o José Quintas.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.


