segunda-feira, 17 de setembro de 2012

Acentuacao ou Acentuação, eis a questão? ou questao?


Pois é nossa língua portuguesa continua riquíssima, e apesar de todos os esforços para torná-la mais simples, ainda temos que estudá-la por longos anos, para que no final, ainda cometermos muitos erros gramaticais. Tem gente que passa a vida estudando-a, e em profundidade seus advérbios, particípios, pleonasmos, e vamos parar por aqui, pois me lembrei da Dona Cristina, minha querida professora.  Isso sem contar os 'idiomas' regionais que também nos ajudam, como por exemplo: o piá da prenda gostar de comer macaxeira, ou ainda assei o vazio na herdade para comer com a fuleragem.

De fato trata-se de um dos nossos maiores patrimônios, mas quem não se sente tentado a passar o texto pelo corretor do MS-Word para descobrir aqueles acentinhos faltantes, antes de cometer a gafe de publicar algo errado.  Mesmo com todo esse esforço ainda cometo essas gafes com grande frequência aqui no Genexando, mas fazer o que, os que não tiverem pecados que atirem a primeira caneta.

Mas voltemos ao nosso problema original que é acentuação, usá-la ou não, e o grande esforço que tal detalhe ocasiona na questão das pesquisas no banco de dados, pois, agora mesmo no search do Genexando tive que escrever frases acentuadas e sem acento para tentar encontrar um artigo mais antigo, e que inclusive não achei.

O que fazer?
Em primeiro lugar temos os campos de entrada sujeitos a serem utilizados como filtros, podem representar um problema, pois muitos Joãos registram seus nomes como Joaos, e a falta de padrão traz consigo grandes dificuldades para achá-los depois.

Recentemente passamos por uma dificuldade dessas, e resolvemos duplicar um certo atributo na tabela removendo seus acentos de forma a possibilitar pesquisas por esse campo de forma mais 'neutra'.

E desta forma um pequeno trecho de codigo foi criado, com a ajuda do ReplaceRegEx para remover os caracteres com acentuação.

&TXT   = &Texto.ReplaceRegEx("[áàâãäª]","a")
&TXT   = &TXT.ReplaceRegEx("[éèêë]", "e")
&TXT   = &TXT.ReplaceRegEx("[íìîï]", "i")
&TXT   = &TXT.ReplaceRegEx("[óòôõöº]","o")
&TXT   = &TXT.ReplaceRegEx("[úùûü]", "u")
&resposta  = &TXT.ReplaceRegEx("[ç]", "c")

Acho que não preciso nem explicar o que ele faz né, (não é)?

O dia que o banco de dados falar português talvez não tenhamos que recorrer a esses métodos brasileiros.

Conclusão
Só pra abrir um pequeno parenteses, o Brasil, de fato é uma terra diferenciada, além da nossa lingua temos também os nossos próprios padrões que nos diferenciam do 'resto' do mundo, e só pra citar alguns exemplos vejam o nosso mais recente padrão 4G que somente funcionará aqui, e não adianta querer utilizar aquele iPhone 5 pois não vai funcionar, a própria Apple ficou meio revoltada com o Brasil, acho que por causa disso, o nosso sistema de TV digital que também só funciona aqui, as nossas belas e novas tomadas que também somente funcionam aqui e que por sinal exigem um montão de adaptadores, e por ai vai.

Direitos autorais a parte, fiquemos felizes com nossos irmãos de lingua portuguesa no mundo: Angola, Moçambique, Cabo Verde, Guiné-Bissau, São Tomé e Principe, Ilha da Madeira, Arquipélago dos Açores, e claro nossos patrícios, pois, pois.  Ah, já estava me esquecendo, tem também os que falam mas não oficialmente: Macau, Goa e Timor Leste. Percebeu que quase todos tem acento até no nome!