
Ich möchte in MacOS (10.15.3) ein Gebietsschema verwenden C.UTF-8
, das standardmäßig nicht vorhanden ist. Und es gibt keinen locale-gen
Befehl in Mac.
Wie kann ich in MacOS ein Gebietsschema erstellen?
Ich verwende das Gebietsschema nur für Postgresql-Datenbanken.
Antwort1
Sie verwenden kein Debian-Linux. locale-gen
ist ein Debian-Tool, ein Shell-Skript, das das eigentliche Standardtool zum Erstellen von Gebietsschemas umschließt. Dieses Tool ist localedef
, wie in derEinzelne Unix-Spezifikationund wie auf MacOS verfügbar.
Es braucht ein GebietsschemaQuelldateiund eine Zeichentabellendatei als Eingabe. DieSUSgibt die Formate für beide an, und gemäß dem Apache C++ Handbuch fürseine eigene localedef
Früher (aber anscheinend nicht mehr) konnte man lokale Quelldateien von The Open Group herunterladen.
Beachten Sie, dass eine gemeldete Möglichkeit zur Konfiguration C.UTF-8
unter MacOS darin besteht, das C-Gebietsschema zu verwenden und das UTF-8-Gebietsschema, das MacOS hat, nur für die Zeicheneingabe zu überlagern, d. h.
export LANG=C LC_CTYPE=UTF-8
Das istBerichten zufolge, was MacOS-Terminalemulatoren in ihren untergeordneten Prozessumgebungen einrichten. So funktionierte es früher auch unter FreeBSD. (Das Festlegen eines *.UTF-8-Gebietsschemas bewirkte LANG
effektiv dasselbe, da die LC_CTYPE
Gebietsschemadatei ../UTF-8/LC_CTYPE
in diesen Gebietsschemas ein symbolischer Link zu war.)
Beachten Sie, dass das 4.4BSD- mklocale
Toolnichtzum Erstellen von Gebietsschemas. Es dient speziell zum Erstellen der Zeichentypabschnitte von Gebietsschemas.
Weiterführende Literatur
man localedef
localedef
. Die Open Group-Basisspezifikationen. IEEE Std. 1003.1-2017.localedef
.Referenzhandbuch zur Apache C++-Standardbibliothek. apache.org.