Converte arquivo de ISO-8859-1 para UTF-8
Hoje tive que fazer deploy de um sistema aqui da empresa, quando fui ver os arquivos e banco….tudo em ISO-8859-1. #failwhale
Modifiquei o encode das tabelas, porém todas as mensagens de ajax e retornos de banco ficaram zuadas!
Vamos então fazer um ShellScript para mudar o encode dos arquivos né?
Esse script lista os arquivos com extensão PHP no diretório atual e modifica o encode, sem recursividade, porém só tinha dois folders então foi tranquilo.
ps.: sistemas unix com iconv instalado, no meu mac já tinha! MacPort é o cara!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/bin/bash ls *.php | while read src do dest="$(echo "$src"2)" echo "$src" "$dest" iconv --from-code=ISO-8859-1 --to-code=UTF-8 "$src" > "$dest" mv "$dest" "$src" done |
E colocar tag correta no HTML também ajuda
<meta http-equiv="content-type" content="text/html; charset=utf8">
about 4 months ago
Eu sugiro UTF-8 como uma das 7 maravilhas do mundo
E só quem trabalha com aplicações que tem que conversar com MAC|Windows|Linux sabe que tipo de problema dá qdo se encontra pessoas criativas que gostam de bullets, simbolos de registrado e etc em varios locais, de texto e até em nome de arquivo.
O post é curto, mas levanta uma questão interessante… para onde o assunto/problema encoding vai levar os desenvolvedores(e espero que seja para um lugar diferente de um hospício).
Abraços.
about 4 months ago
Seria uma boa idéia para padrões né, quem sabe um best pratices no #php5minutes? Sobre encode, TAB e por ai vai???
about 4 months ago
Olá Ivan! Seu script me ajudou! Como no meu caso precisei fazer isso recursivamente, alterei seu script trocando o “ls *.php” por “find . -type f -iname \*php -print”.
Até!
about 4 months ago
Opa! Valeu mesmo!
Na próxima utilizarei esse ai