Definitivamente, há algo de errado com OS X (pode ser apenas Lion )
Qual é o problema?
O OS X não define corretamente o ambiente local. Além disso, o OS X chama o conjunto de caracteres UTF-8 na sintaxe combinada de localidades de maneira diferente do Linux.
Como consertar isso?
Você pode encontrar várias "correções" no Google, a maioria delas não funciona ou é apenas parte do problema, porque elas são destinadas a um problema diferente, criando erros iguais ou semelhantes.
Acho que a maneira mais razoável é consertar seu ambiente local no cliente OS X.
Se você executar o comando locale
no seu cliente OS X, ele mostrará um ambiente incompleto. A linguagem não está definida.
osx-client:~$ locale
LANG= << EMPTY!
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL= << EMPTY!
Portanto, no arquivo ~/.bash_profile
na sua máquina local , basta adicionar
export LANG="en_US"
export LANGUAGE=$LANG
export LC_ALL=$LANG
Você pode, é claro, substituir o en_US
pelo seu idioma desejado, apenas certifique-se de instalar também seu código de idioma no servidor (por exemplo, no Debian com dpkg-reconfigure locales
). Não esqueça de fechar e reabrir o seu Terminal.
No entanto, não use as variantes .UTF
. Eles só funcionam no servidor ou localmente. OS X e seu servidor Linux possuem um nome diferente para UTF-8 na sintaxe combinada de language.charset. Se você usar, por exemplo, en_US.utf8
, isso causará um erro localmente enquanto ele funciona "bem" remotamente, enquanto usar en_US.utf-8
funcionará localmente, mas causará o erro em seu servidor. Apenas use a definição de linguagem simples. O conjunto de caracteres deve acabar sendo UTF-8 de qualquer maneira.
Você pode testar se funciona apenas executando locale
novamente no servidor, se você vir a mensagem temida na parte superior, isso não funcionará. Se você errou localmente, verá um erro ao abrir uma nova janela do Terminal.
Faltam locales no servidor
Se ainda não estiver funcionando, talvez esteja faltando sua localidade selecionada no servidor. Você pode estar errado com "en_US", mas pode querer um diferente. Como instalar uma localidade depende da distribuição dos servidores.
- No Debian, chame
dpkg-reconfigure locales
e selecione sua localidade.- Se você for solicitado a selecionar um idioma padrão, poderá selecionar um ou deixá-lo em nenhum. Não importa aqui.