Frage

Ich möchte alle meine Toolkit UTF-8 verwenden, aber feststellen, dass einige Tools unter Windows zu verwenden scheinen CP1252 (welche Windows-spezifisch zu sein scheint). Schaff diese Ausgabe, die nicht kompatibel und wenn ja, an welchen Codepoints ist? Wenn ja, kann ich etwas dagegen tun?

(Ich verstehe nicht vollständig die Probleme, damit ich für die Grundbildung auf diesen Kodierungen dankbar sein würde).

War es hilfreich?

Lösung

Werkzeuge Hartcodierung für Codepage 1252 unter Windows ist sehr unwahrscheinlich. Viel ist wahrscheinlicher, dass es die Standard-Codepage auf Ihrem Rechner passiert sein. 1252 wird in Westeuropa und Nord- und Südamerika verwendet. Es wird in der Systemsteuerung auf Regions- und Sprachoptionen konfiguriert. Sie habe mit verschiedenen Namen für sie, auf Win7 es in der Registerkarte Verwaltung ist, Gebietsschema ändern.

Ja, verwenden viele Werkzeuge, um die Standard-Codepage, wenn sie einen guten Grund haben andere Kodierung zu wählen. Die BOM so ein guter Grund. Bemerkenswerte Beispiele sind Notepad und C / C ++ Compiler (sofern Sie die Codierung in der Datei + Öffnen-Dialog, um etwas anderes als Ansi ändern). Es ist in der Regel nichts Besonderes Sie tun müssen, um die Standard-Codepage zu verwenden. Erraten der richtigen Codepage für eine Textdatei, wenn Sie nicht über eine Stückliste haben, ist unmöglich, genau zu tun. Google „Busch versteckte die Fakten“ für eine sehr amüsante Kriegsgeschichte.

Andere Tipps

Sechs Jahre alt und immer noch relevant: der absolute Minimum Jeden Software-Entwickler Absolut, Positiv wissen über Unicode und Zeichensätze (No Excuses!)

Nun, über Ihre Frage: Ja, gibt es noch Werkzeuge gibt, die Drossel auf UTF-8-Dateien. Aber mehr und mehr Tools „getting it“. Wenn Sie Ihre eigenen Sachen sind zu entwickeln, möchten Sie vielleicht in Python 3 zu sehen, in der alle Strings Unicode sind. Die Philosophie ist es, alle Ihre Eingaben in Unicode (falls erforderlich) so früh wie möglich zu konvertieren, und zurückzuverwandeln sie zu einer Zielcodierung so spät wie möglich. Es gibt Toolkits gibt, die einen guten Job zu erraten, die Codierung einer bestimmten Datei tun (zum Beispiel Mark Pilgrim 's chardet , eine Portierung von Mozillas Codierung Detektor ). Das ist schön, wenn Sie mit Dateien arbeiten, die eine Codierung nicht angeben.

CP1252 und UTF-8 sind die gleichen für alle Zeichen <128. Sie darüber unterscheiden. Also, wenn Sie auf Englisch halten und bleiben weg von diakritischen Zeichen werden diese gleich sein.

Die meisten der Windows-Tool verwenden, was auch immer als der aktuelle Benutzers aktuelle Codepage gesetzt, die 1252 für die US-Windows-Standard wird. Sie können das ziemlich leicht zu einem anderen Zeichensatz ändern. Aber UTF-8 ist nicht eine der verfügbaren Optionen Codepage für Windows. (Ich wünschte es wäre).

Einige Dienstprogramme unter Windows werden verstehen, die UTF-8-Byte-Reihenfolge-Marke am Anfang einer Datei. Leider weiß ich nicht, wie zu bestimmen, ob diese Ausnahme arbeitet, es zu versuchen.

UTF-8 wird unter Windows unterstützt, aber nicht als Strom Codepage. Sie können UTF-8 für die Umwandlung von / es verwenden, aber man kann nicht als aktuelle Codepage gesetzt.

Versuchen Sie zunächst, keine Zeit zu verschwenden, indem die Codepage Einstellung - dieser Ansatz wird Ihnen von Sisyphus-Mythos erinnern - Sie nicht wirklich das Problem mit Codepages lösen können, müssen Sie Unicode verwenden

.

Die einzige wirkliche Lösung für Sie zu bauen Sie Ihre Anwendung als Unicode, so wird es UTF-16 verwenden und zu konvertieren zu / von UTF-8 auf in / out-Operationen. Dies ist ganz einfach gemacht, weil fopen unterstützt UTF-8 zu lesen oder zu schreiben.

Im Hinblick auf die Verwendung von anderen Windows-Tool mit UTF-8-Datei, sollten Sie nicht darüber im Klaren sein, weil, wenn das Werkzeug zur Arbeit mit ASCII-fähig ist, wird es mit UTF-8 (unter Umständen auch so ist es nicht möglich sein, kann zwischen Unicode zu unterscheiden Zeichen, aber zumindest wird es zu laden / analysieren, die Dateien können).

BTW, vergessen Sie festlegen, welche Programmiersprache Sie verwenden und welche Windows-Tools sind Sie für die Nutzung berücksichtigen.

Auch wenn Sie über weitere Internationalisierung Sachen interessiert ware besuchen Sie bitte meine blog.i18n.ro

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top