Definindo UTF8 como codificação de caracteres padrão no Windows 7
63
existe uma maneira de configurar o Windows 7 para usar globalmente o UTF-8 como padrão?
é realmente irritante definir todos os editores de texto para usá-lo.
Então você quer dizer algo ao sistema operacional ... e magicamente todos os editores entendem isso? :) Quantos editores você usa? A cada 3 minutos outro? Enfim: superuser.com/questions/221593/windows-7-utf-8-and-unicode Pelo que sei: o Windows usa o UTF16 internamente em todos os lugares, e duvido que você possa mudar isso.
akira
11
editores que uso: bloco de notas, bloco de notas ++, qt, eclipse, thunderbird, escritório aberto e outros ... não estou falando apenas de editores de texto simples, mas de tudo o que funciona com texto e saída. a maioria dos editores de texto independentes da plataforma usa o utf-8 como padrão no Linux, mas usa o Latin-1 no Windows.
Para elaborar, receio que você não encontre uma opção de codificação global no Windows 7 que permita a você 1) definir um padrão global que 2) todos os aplicativos que você listou obedeceriam.
Além disso, gostaria de perguntar qual é o problema aqui que você está tentando resolver?
Cabe ao aplicativo escolher se eles usam unicode internamente para representar dados. Embora o uso do unicode seja incentivado , você nunca pode ter certeza de que todos os seus aplicativos o suportam internamente.
O que você pode fazer , no entanto, é alterar a codificação de caracteres padrão para cada um dos aplicativos listados:
Para o Eclipse, a codificação padrão para novos arquivos pode ser configurada em Windows> Preferências> Geral> Tipos de Conteúdo (consulte a publicação no Eclipse Community Forms )
No Notepad ++, navegue para Configurações> Preferências> Novo documento / Padrão / Diretório e defina Codificação como UTF-8
No caso do OpenOffice (e LibreOffice), você nem precisa se preocupar com a codificação, pois os documentos salvos pelo OpenOffice são baseados em XML, nos quais a codificação é especificada internamente nos arquivos XML (e o UTF-8 já está o padrão lá também)
Do ponto de vista UTF-8, o PowerShell é complicado. Possui codificação padrão de UTF-16LE.
Para gerar arquivos do PowerShell para UTF-8, consulte esta resposta
Para alterar a codificação padrão, consulte esta resposta
não é a resposta que eu estava esperando para obter, mas eu acho que tem que viver com a verdade, obrigado =)
Baarn
para janelas do bloco de notas?
23416
23
Não é possível principalmente porque o Windows não permite UTF-8 como a página de código ANSI do sistema, mesmo que tenha uma página de código 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.
A página de código 65001 não funciona em todos os lugares. Especificamente, ele é quebrado com parte do suporte a MultiByte no Windows, que espera que caracteres multibyte exijam um ou dois bytes, enquanto o UTF-8 exige entre um e quatro bytes. A WriteFile()API, por exemplo, retorna um resultado incorreto na página de códigos 65001, que borbulha através de todo o código da biblioteca que depende dele, como write().
O falecido Michael Kaplan, que trabalhou na internacionalização na Microsoft, tinha um blog "Classificando tudo" , com várias postagens sobre tópicos relacionados. Enviei-lhe um e-mail diretamente sobre algumas dessas preocupações no passado.
Observe que quando o Windows (NT) foi concebido, não havia UTF-8. Portanto, o UCS-2 era realmente uma escolha realmente sensata (e impossível de mudar depois, exceto para UTF-16).
Joey
2
O motivo é que o código de idioma UTF-8 pode quebrar algumas funções (um exemplo possível é _mbsrev), pois elas foram gravadas para assumir codificações multibyte usadas com não mais de 2 bytes por caractere, portanto, até agora, as páginas de código com mais bytes, como GB 18030 (cp54936 ) e UTF-8 não pôde ser definido como o código do idioma. . Mas pelo menos agora é possível definir a localidade UTF-8 no Windows 10
Respostas:
A resposta curta é não, não é possível .
Para elaborar, receio que você não encontre uma opção de codificação global no Windows 7 que permita a você 1) definir um padrão global que 2) todos os aplicativos que você listou obedeceriam.
Além disso, gostaria de perguntar qual é o problema aqui que você está tentando resolver?
Cabe ao aplicativo escolher se eles usam unicode internamente para representar dados. Embora o uso do unicode seja incentivado , você nunca pode ter certeza de que todos os seus aplicativos o suportam internamente.
O que você pode fazer , no entanto, é alterar a codificação de caracteres padrão para cada um dos aplicativos listados:
UTF-16LE
.fonte
Não é possível principalmente porque o Windows não permite UTF-8 como a página de código ANSI do sistema, mesmo que tenha uma página de código ANSI para UTF-8, página de código 65001 . Parece haver várias razões para isso:
WriteFile()
API, por exemplo, retorna um resultado incorreto na página de códigos 65001, que borbulha através de todo o código da biblioteca que depende dele, comowrite()
.O falecido Michael Kaplan, que trabalhou na internacionalização na Microsoft, tinha um blog "Classificando tudo" , com várias postagens sobre tópicos relacionados. Enviei-lhe um e-mail diretamente sobre algumas dessas preocupações no passado.
fonte