Como é nas empresas do Brasil as convenções relacionadas a codificação e uso de acentos?

Essa área para mim é um hobby, mas fico curioso em saber como é nas empresas. Digo isso porque tive muitos problemas em deixar um projeto inteiramente em unicode, preferencialmente no formato UTF8. E falo inclusive em usar acentos em nomes de arquivo, nomes de variáveis, etc.

Java

Para mim, como não sou profissional, usar Java ainda me parece meio um “exagero”. Mas mesmo assim peguei o Java e tentei criar uns projetinhos com o Netbeans. Vocês não sabem o trabalho que deu para entender onde estava o problema quando resolvi colocar nomes de arquivos com acento.

Como era inexperiente demorei muito a perceber que a raiz do problema do Netbeans me parecia vir do arquivo properties, que por padrão, por mais absurdo que seja, foi definido que somente aceita ISO-8859-1 (mesmo eles dizendo que o projeto em Java deveria ser “todo” em UTF8 ).

Fora isso tive outros problemas também, então saí do Netbeans e fui para o Eclipse. Mas no eclipse acabei me desanimando por causa de outra coisa: não há aquilo que chamamos de soft-wrap. Incrível não?

Acabei achando que estava dentro de uma maquina virtual, e com bugs… “esse mundo num tá certo gente!” rs

Depois de me desiludir criei uma pasta com arquivos batch (coisa dos anos 1990-1995?) do Windows e arrisquei habilitar o code page 65001 e, trabalhar com JEdit (que suporta UTF-8 e tem soft-wrap, e outros wraps).

PHP

Mas aí, após a história com Java, pensei que, Java é demais. Vai além da minha necessidade e está trazendo problemas que eu dificilmente sozinho vou resolver…

Experimentei PHP uns meses atrás, passei alguns dias dedicando a tentar carregar um arquivo com acento (um XML), sem sucesso. Parece que PHP não suporta unicode.

Achei ridículo ter que renomear todos meus arquivos XML só para poder usar no PHP. Pensei, se no Java world, já com IDE poderosa eu tenho vários problemas, imagina neste caso em que nem o PHP consegue carregar um arquivo com acento.

Console do Windows

Foi aí que voltei para o Java novamente. Mas, como sou, digamos, à procura de simplicidade, resolvi criar somente um aplicativo que roda na linha de comando. Outro problema: o Windows não parece suportar direito UTF-8 no terminal. (veja na internet problemas relacionado a página 65001)

Bom, eu fui obrigado a usar Swing para poder digitar normalmente as “coisas” conforme nossa língua (embora não seja tão amada, ela é nossa língua materna).

E a história continua

Foi aí que decidi vir aqui criar um tópico para saber dos profissionais como eles fazem projetos que incluem dados na nossa língua.

Eu, por essa mínima experiência que tive, já decidi “migrar” tudo que for possível para o inglês! E inclusive distribuir um livro ensinando inglês para qualquer pessoa que um dia possa utilizar meu pequenino software! (do pt.wikibooks.org rs)

aqui usamos 8859-1 não temos problemas, todo processo de leitura de arquivos, xml, csv, html…tudo deve ter a mesma codificação, ou pelo menos tentar manter a mesma codificação.

existem convensões de código java, por exemplo, acentuações devem ser usadas somente em textos. arquivos de imagem devem ser separadas por _ e várias outras convensões.

eclipse é uma excelente IDE, mas o Visual Studio é tão poderoso quanto, senão mais.

tente usar o C#, veja se gosta.

Vc viu esse recurso?

<?php header("Content-Type: text/html; charset=ISO-8859-1",true) ?>

vc teria que conhecer melhor o HTML (HyperText Markup Language ou tags ou metatags, é uma Linguagem de Marcação de Hipertexto)
Existe uma metatag chamada ‘meta’. provavelmente vc nunca passou pro problema de codificação de página.

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

http://www.w3schools.com/tags/att_meta_http_equiv.asp

[quote=douglaskd]aqui usamos 8859-1 não temos problemas, todo processo de leitura de arquivos, xml, csv, html…tudo deve ter a mesma codificação, ou pelo menos tentar manter a mesma codificação.

existem convensões de código java, por exemplo, acentuações devem ser usadas somente em textos. arquivos de imagem devem ser separadas por _ e várias outras convenções.

eclipse é uma excelente IDE, mas o Visual Studio é tão poderoso quanto, senão mais.

tente usar o C#, veja se gosta.[/quote]

Obrigado por responder.

E sobre C#. Entre Oracle e Microsoft, ainda prefiro Oracle. rs

É que sou mais adepto ao mundo open source, mas valeu a dica.

P.S: Opa! Percebi que escrevi convenções com s! Vou corrigir.

O que me refiro é carregar um arquivo. Por exemplo, experimenta carregar convenções.php. Tenta aí e me fala como fazer isso. rs

Mesmo assim obrigado por ajudar.

Eu aqui deixo tudo (onde puder) no formato UTF-8 (HTML, CSS, XML, JavaScript, Java, etc.), porque é o mais “universal” que podemos encontrar hoje.

Mas sabe que me lembrei de uma dúvida que tinha? Vocês costumam deixar os elementos em um arquivo XML com caracteres que possuem algum tipo de acento?

Ex.:

<?xml version="1.0" encoding="UTF-8"?>
<codificações>
    <codificação>
    </codificação>
</codificações>

Ou vocês deixam como abaixo?

Ex.:

<?xml version="1.0" encoding="UTF-8"?>
<codificacoes>
    <codificacao>
    </codificacao>
</codificacoes>

No Java já testei das 2 formas e funcionou, no firefox acessar também não acusa erro. Mas enfim, como é aí na sua empresa?

eu uso assim:

Uma lição que aprendi na vida:
nunca use acentuação ou cedilha na criação de variáveis ou tags xml.

o que utilizar estas formas é texto inserido pelo usuário ou label.

os acentos são tão complicados que sempre tem revisões gramaticais no nosso português.

Brasil:

terra e terra // esta palavra deveria ter acento ? térra …som de é, porém existem excessões UIAHSIUAH
terra é terra

EUA:

land and land
land is land

antes de ler qualquer coisa sobre gramática você tem que colocar um try{ //ai voce pode ler }catch(portuguesException e){ //aqui é a parte que importa }

imagina uma linguagem de programação onde é necessário colocar acentos… daqui X anos, o brasil faz uma nova revisão e os remove…assim como feito com a trema: ü

só dores de cabeça.

[quote=Luiz Augusto Prado]eu uso assim:

Uma lição que aprendi na vida:
nunca use acentuação ou cedilha na criação de variáveis ou tags xml.

o que utilizar estas formas é texto inserido pelo usuário ou label.
[/quote]

Para estar falando assim você deve ter passado por muitos problemas ao colocar acentos em variáveis e/ou em tags XML.

Mas realmente, pelo suporte que há hoje em dia em algumas linguagens, não é por menos. É bom evitar, pois assim evita problemas futuros na hora de tradução de uma linguagem para outra, também.

O que ando fazendo aqui é até mais “profundo”. Eu percebi que ficar misturando diferentes línguas em um só arquivo fica meio deselegante, não parece fazer sentido. De repente eu vejo um “if”, mas “if” com português fica como se eu falasse aqui na thread misturando inglês com português ao mesmo tempo.

Hoje em dia eu coloco as tags em inglês (ou, em tudo que puder), e o conteúdo dentro das tags muda conforme o idioma. Infelizmente assim fica um pouco misturado, mas de qualquer forma é uma tentativa. rs

Algo tipo assim:

<?xml version="1.0" encoding="UTF-8" xml:lang="pt-BR"?> <conventions> <convention>Convenção</convention> </conventions>

Já dentro de uma fonte (tipo MinhaClasse.java) agora só escrevo em inglês, inclusive para o nome da classe procuro a tradução para o inglês, porque assim até posso ir à internet e procurar por comunidades que não falam português. Fica bem mais fácil.

Vocês que são profissionais devem sofrer muito na hora de criar projetos com internacionalização, porque pelo visto, nossa, dá trabalho demais! :slight_smile: