File Windows to Linux UTF-8
Pergunta
Eu tenho uma codificação de arquivo UTF-8 no Windows e, quando o uso no Windows, ele mostra a everithing corretamente, mas quando copio o arquivo no Linux, os caracteres Unicode são gibis. O arquivo é um arquivo de texto simples. Como posso fazer com que esse arquivo seja legível no Linux ou como posso copiá -lo corretamente?
desde já, obrigado
Solução
Parece um problema de apache/php
Você está executando suas cordas através do método HTMLSPSpecialchars interno do PHP (ou similar)? Nesse caso, pode ser necessário mudar sua codificação para UTF8
Ao invés de htmlspecialchars($mytext)
, tente usar htmlspecialchars($mytext, ENT_COMPAT, 'UTF-8')
Observe o seguinte (minha resposta anterior) está incorreta, pois Michael Burr Notes, o UTF-8 não precisa ou usa o BOM.
Se for apenas o texto, há uma chance de perder a marca de pedidos de bytes (BOM), ou é codificada com uma BOM incorreta.
Se estiver incorreto, o leitor do Linux pode estar honrando, mas o seu leitor do Windows está ignorando. Tente reabrindo seu arquivo em algo como o bloco de notas ++ e reabastecer. O NotePad ++ tem várias opções no menu de formato sobre como salvar os arquivos UTF-8.
Outras dicas
Verifique se você transferiu o arquivo no modo binário. Experimente também o iconv.
O arquivo em si está bem. Outra coisa no tubo está estragando o texto antes de ser enviado para o navegador. Ecoar o texto em vários pontos do aplicativo para identificar qual operação está quebrando -o.