Question

Je voudrais toute ma boîte à outils à utiliser UTF-8 mais vous pouvez trouver que certains outils sous Windows semblent utiliser CP1252 (qui semble être spécifique à Windows). Cela crée-t sortie qui est incompatible et si oui à laquelle codepoints? Si oui, puis-je faire quelque chose à ce sujet?

(Je ne comprends pas complètement les questions donc je serais reconnaissant pour l'éducation de base sur ces codages).

Était-ce utile?

La solution

Outils dur codant pour la page de code 1252 sur Windows est très improbable. Beaucoup plus probable est qu'il se trouve être la page de code par défaut sur votre machine. 1252 est utilisé en Europe occidentale et dans les Amériques. Il est configuré dans le Panneau de configuration, Options régionales et linguistiques. Ils utilisent des noms différents pour elle, sur Win7, il est dans l'onglet Administration, changement des paramètres régionaux système.

Oui, de nombreux outils utiliser la page de code par défaut à moins qu'ils aient une bonne raison de choisir un autre encodage. nomenclature est une bonne raison. Des exemples notables sont le Bloc-notes (sauf si vous modifiez le codage dans le fichier + boîte de dialogue Ouvrir à autre chose que Ansi) et compilateurs C / C ++. Il n'y a généralement pas tout ce que vous devez faire spécial pour utiliser la page de code par défaut. Deviner la page de code correct pour un fichier texte lorsque vous n'avez pas une nomenclature est impossible de le faire avec précision. Google « Bush a caché les faits » pour une histoire de guerre très amusant.

Autres conseils

Six ans et toujours d'actualité: Le logiciel Chaque absolu minimum Developer Absolument, doit Positivement savoir sur Unicode et jeux de caractères (No excuses!)

Maintenant, au sujet de votre question: Oui, il y a encore des outils là-bas qui étouffent sur les fichiers UTF-8. Mais de plus en plus d'outils sont « bien faire ». Si vous développez vos propres trucs, vous pouvez regarder en Python 3, où toutes les chaînes sont Unicode. La philosophie est de convertir toutes vos entrées en Unicode (si nécessaire) le plus tôt possible, et de les reconvertir à un codage cible le plus tard possible. Il y a des boîtes à outils là-bas qui fera un bon travail de deviner l'encodage d'un fichier particulier (par exemple, Mark Pilgrim d ' chardet , un port de détecteur de codage Mozilla ). C'est bien si vous travaillez avec des fichiers qui ne spécifient pas un encodage.

CP1252 et UTF-8 sont les mêmes pour tous les caractères <128. Ils diffèrent au-dessus. Donc, si vous vous en tenez à l'anglais et rester à l'écart de marques diacritiques ce seront les mêmes.

La plupart des outils Windows utilisera tout ce qui est défini comme courant de l'codepage utilisateur actuel, qui par défaut 1252 pour Windows US. Vous pouvez changer cela à un autre codepage assez facilement. Mais UTF-8 n'est pas une des options disponibles pour Windows codepage. (Je souhaiterais que ce soit).

Certains utilitaires sous Windows comprendront UTF-8 byte-order mark au début d'un fichier. Malheureusement, je ne sais pas comment déterminer si cela fonctionnera, sauf pour l'essayer.

UTF-8 est pris en charge sur Windows mais pas comme un courant codepage. Vous pouvez utiliser UTF-8 pour la conversion vers / depuis, mais vous ne pouvez pas définir est aussi en cours codepage.

Tout d'abord ne pas essayer de perdre du temps en mettant la page de code - cette approche vous rappellera le mythe de Sisyphe - vous ne pouvez pas vraiment résoudre le problème en utilisant des pages de codes, vous devez utiliser Unicode

.

La seule vraie solution pour vous est de construire votre application en tant que Unicode il utilisera UTF-16 et de se convertir à / de UTF-8 dans / opérations. Cela se fait assez simple parce que fopen supports de lecture ou d'écriture UTF-8.

En ce qui concerne l'utilisation d'autres outils Windows avec le fichier UTF-8, vous ne devriez pas être au courant parce que si l'outil est capable de travailler avec ASCII, il travaillera avec UTF-8 (même si il ne peut pas être en mesure de faire la distinction entre Unicode mais au moins les caractères, il sera en mesure de charger / analyser les fichiers).

BTW, vous avez oublié de préciser ce langage de programmation utilisez-vous et quels outils Windows envisagez-vous pour l'utilisation.

En outre, si vous ware intéressés au sujet de l'internationalisation des trucs plus s'il vous plaît visitez mon blog.i18n.ro

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top