Pergunta

Eu gostaria que todos o meu kit de ferramentas para uso UTF-8 mas acho que algumas ferramentas do Windows parecem usar CP1252 (o que parece ser específicos para Windows).Isso cria uma saída que é incompatível e se sim em que codepoints?Se assim for, posso fazer alguma coisa sobre isso?

(Eu não entender completamente os problemas, então eu ficaria grato para a educação básica sobre estas codificações).

Foi útil?

Solução

Ferramentas de embutir para a página de código 1252 no Windows é muito improvável.Muito mais provável é que ele passa a ser a página de código padrão em sua máquina.1252 é usado na Europa Ocidental e Américas.Ele é configurado no Painel de Controle, opções Regionais e de Idioma.Eles foram usando nomes diferentes para o mesmo, em Win7 é o guia Administrativo, Alterar Localidade do Sistema.

Sim, muitas ferramentas usar a página de código padrão, a menos que eles tem um bom motivo para optar por outra codificação. O BOM é um bom motivo.Exemplos notáveis são o bloco de notas (a menos que você altere a Codificação no Arquivo + Abrir diálogo para algo mais do que Ansi) e compiladores C/C++.Há, normalmente, não é nada de especial o que você precisa fazer para usar a página de código padrão.Adivinhando a página de código correto para um arquivo de texto quando você não tem uma lista de materiais, é impossível fazer com precisão.Google "bush hid the facts" para uma muito divertida história de guerra.

Outras dicas

Seis anos e ainda relevante: O mínimo absoluto todo desenvolvedor de software absolutamente, deve saber positivamente sobre o Unicode e os conjuntos de personagens (sem desculpas!)

Agora, sobre sua pergunta: sim, ainda existem ferramentas por aí que engasgam nos arquivos UTF-8. Mas mais e mais ferramentas estão "obtendo". Se você estiver desenvolvendo suas próprias coisas, pode querer procurar no Python 3, onde todas as cordas são unicode. A filosofia é converter todos os seus insumos em unicode (se necessário) o mais cedo possível e reconvertê -los a um alvo que codifica o mais tarde possível. Existem kits de ferramentas por aí que farão um bom trabalho ao adivinhar a codificação de um arquivo específico (por exemplo, Mark Pilgrim's chapé, um porto de Detector de codificação de Mozilla). Isso é bom se você estiver trabalhando com arquivos que não especificam uma codificação.

CP1252 e UTF-8 são os mesmos para todos os caracteres <128. Eles diferem acima disso. Portanto, se você seguir o inglês e ficar longe das marcas diacríticas, elas serão as mesmas.

A maioria das ferramentas do Windows usará o que for definido como a página de código atual do usuário atual, que será o padrão de 1252 para o Windows dos EUA. Você pode alterar isso para outra página de código com bastante facilidade. Mas o UTF-8 não é uma das opções de codificação disponível para o Windows. (Eu queria que fosse).

Alguns utilitários do Windows entenderão o Marca de ordem de byte UTF-8 No início de um arquivo. Infelizmente, não sei como determinar se isso funcionará, exceto para experimentá -lo.

UTF-8 é suportado no Windows, mas não como um atual FAGA DE CÓDIGO. Você pode usar o UTF-8 para converter para/a partir dele, mas você não pode definir é como o CodePage atual.

Primeiro, não tente perder tempo definindo a seleção de código - essa abordagem o lembrará do mito do sísifo - você não pode realmente resolver o problema usando o CodEPages, você precisa usar o Unicode.

A única solução real para você é Crie seu aplicativo como Unicode para que ele use UTF-16 e converter para/a partir do UTF-8 em operações de entrada/saída. Isso é feito bastante simples porque o FOPEN suporta a leitura ou a escrita do UTF-8.

Em relação ao uso de outras ferramentas do Windows com o arquivo UTF-8, você não deve estar ciente, porque se a ferramenta puder trabalhar com o ASCII, ele funcionará com o UTF-8 (mesmo assim pode não ser capaz de distinguir entre os chars Unicode, mas em Pelo menos será capaz de carregar/analisar os arquivos).

BTW, você esqueceu de especificar qual linguagem de programação você está usando e quais ferramentas do Windows você está considerando para uso.

Além disso, se você se interessa por mais coisas de internacionalização, visite meu blog.i18n.ro

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top