Pular para o conteúdo principal

Retirar acentos de campos MySQL


Depois de muito pesquisar na net sobre como retirar acentos em campos do MySQL, consegui resolver meu problema com a seguinte query:

UPDATE tabela
set
campo = TRIM(UCASE(campo)),
campo = REPLACE(campo ,'Á','A'),
campo = REPLACE(campo ,'À','A'), 
campo = REPLACE(campo ,'Ã','A'),  
campo = REPLACE(campo ,'Â','A'),  
campo = REPLACE(campo ,'É','E'),  
campo = REPLACE(campo ,'È','E'),  
campo = REPLACE(campo ,'Ê','E'),  
campo = REPLACE(campo ,'Í','I'),  
campo = REPLACE(campo ,'Ì','I'),  
campo = REPLACE(campo ,'Î','I'),  
campo = REPLACE(campo ,'Ó','O'),  
campo = REPLACE(campo ,'Ò','O'),  
campo = REPLACE(campo ,'Ô','O'),  
campo = REPLACE(campo ,'Õ','O'),  
campo = REPLACE(campo ,'Ú','U'),  
campo = REPLACE(campo ,'Ù','U'),  
campo = REPLACE(campo ,'Û','U'),  
campo = REPLACE(campo ,'Ü','U'),  
campo = REPLACE(campo ,'Ç','C')

Obs. o primeiro replace transforma toda a string em maiúsculas e depois retira os espaços do início e do final da string.

Isso é somente o início, caso queira substituir outros caracteres basta adicioná-los na lista.

Espero que ajude.

Abraços.

Comentários

Unknown disse…
Muito obrigado. Ajudou-me muitíssimo. Ainda incluí alteração para trocar espaços em branco por sublinhado "_" e troquei também ucase por lcase já que uso linux.
Anônimo disse…
Ótimo!!!!!!!!!!
Luiz Sabiano disse…
Obrigado Amigo, código muito útil
paulo disse…
Muito bom resolveu mesmo o problema aqui diretamento no mysql, vlw e fique com Deus e não esquece de ler a bíblia pois tem o caminho da salvação

Postagens mais visitadas deste blog

X5 - SEU ACESSO A ESTE SISTEMA FOI BLOQUEADO - CEF

Prezados, Um amigo meu teve seu acesso ao site da Caixa Econômica Federal - CEF foi bloqueado.  Ao ligar para o suporte, não obteve sucesso no desbloqueio, sendo a única "alternativa" FORMATAR A MÁQUINA para que assim, a "identificação" do computador pudesse mudar, tudo ser reinstalado com essa nova identificação e desbloqueado o acesso. Não contente com isso buscamos na internet algum caso parecido e nos deparamos com vários casos iguais e com a mesma "solução".    Sendo esta uma solução "fatal",  um dos comentários de um caso no site "Reclame Aqui" ofereceu uma solução melhor: "Va até o painel de controle e desinstale o programa "WARSAW", quando reiniciar o computador entre novamente no site pelo IE ou CHROME ele vai reinstalar o programa . Pronto Resolvido!" Feito isso ao tentar acessar o site é instalado novamente o "módulo de segurança" (que demora bastante por sinal) e tudo voltou ao normal.

Excluindo arquivos e pastas de backup antigas automaticante - FORFILES

Tenho rotinas de backup que copiam/criam diretórios e estes são compactados.  O problema é que, se os mais antigos não forem apagados, perde-se grandes espaços em disco.  Buscando soluções para linhas de comandos em arquivos bat (batch/DOS) encontrei o (milagroso) comando FORFILES onde com duas linhas de comando, resolvi meu problema: 1 - apaga somente os arquivos .rar com mais de 3 dias FORFILES /P "c:\seudiretorio\seusubdiretorio" /M *.rar /D -3 /C "cmd /c echo @path" 2 - apaga os arquivos dos diretórios com mais de 3 dias FORFILES /P "D:\Backup_Geral\Backup_DBs_EGTec" /D -3 /C "cmd /c del @path /q" 3 - Apaga os diretórios com mais de 3 dias FORFILES /P "D:\Backup_Geral\Backup_DBs_EGTec" /D -3 /C "cmd /c rd @path /s /q" Com estes comandos sendo executados por um arquivo batch (.bat) os backups com mais de 3 dias (no meu caso) são excluídos automaticamente. Para maiores detalhes sobre o comando e seus parâmetros