Configurando UTF8 como codificação de caracteres padrão no Windows 7

Configurando UTF8 como codificação de caracteres padrão no Windows 7

existe uma maneira de configurar o Windows 7 para usar UTF-8 globalmente como padrão?
é realmente chato configurar todos os editores de texto para usá-lo.

Responder1

A resposta curta éNão, não é possível.

Para elaborar, temo que você não encontre uma opção de codificação global no Windows 7 que permita 1) definir um padrão global ao qual 2) todos os aplicativos listados obedeceriam.

Além disso, gostaria de perguntar qual é o problema que você está tentando resolver?

Cabe ao aplicativo escolher se usará Unicode internamente para representar os dados.Embora o uso de Unicode seja incentivado, você nunca terá certeza de que todos os seus aplicativos realmente o suportam internamente.

O que vocêpode fazer, entretanto, é alterar a codificação de caracteres padrão para cada um dos aplicativos listados:

  • Para Eclipse, a codificação padrão para novos arquivos pode ser definida emWindows > Preferências > Geral > Tipos de conteúdo(verpostar nos formulários da comunidade Eclipse)
  • Para Notepad++, navegue atéConfigurações > Preferências > Novo Documento/Padrão/Diretórioe defina Codificação comoUTF-8
  • Quanto ao Thunderbird, tenho certeza que ele já usa UTF-8 como codificação padrão. (verestas notas sobre codificação de caracteres)
  • No caso do OpenOffice (e do LibreOffice), você nem precisa se preocupar com a codificação, já que os documentos salvos pelo OpenOffice são baseados em XML, em que a codificação é especificada internamente nos arquivos XML (eUTF-8já é o padrão lá também)
  • Do ponto de vista do UTF-8, o PowerShell é complicado. Possui codificação padrão de UTF-16LE.
    • Para enviar arquivos do PowerShell para UTF-8, consulteesta resposta
    • Para alterar a codificação padrão, consulteesta resposta

Responder2

Não é possível principalmente porque o Windows não permite UTF-8 como página de códigos ANSI do sistema, embora tenha uma página de códigos ANSI para UTF-8,página de código 65001. Parece haver várias razões para isso:

  • Quando o Unicode era novo, a Microsoft decidiu que o UCS-2 seria a melhor maneira de oferecer suporte ao Unicode. Naquela época, o Unicode era de 16 bits.
  • O Windows tem uma página de código ANSI para cada idioma compatível, ao contrário do Unix e do Linux, onde o idioma e a codificação podem ser definidos de forma independente.
  • A página de código 65001 não funciona em todos os lugares. Especificamente, ele está quebrado com parte do suporte MultiByte no Windows, que espera que caracteres multibyte exijam um ou dois bytes, enquanto UTF-8 requer entre um e quatro bytes. OWriteFile()APIpor exemplo, retorna um resultado incorreto na página de código 65001, que aparece em todo o código da biblioteca que depende dele, comowrite().

O falecido Michael Kaplan, que trabalhou com internacionalização na Microsoft, tinha um blog,"Resolvendo tudo", com diversas postagens sobre temas relacionados. Enviei um e-mail diretamente para ele sobre algumas dessas preocupações naquela época.

informação relacionada