Locale-UTF8: Unterschied zwischen den Versionen

Aus
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Shell: locale UTF-8 Support  =
== Was ist UTF-8? Ein kleine Exkursion: ==
== Was ist UTF-8? Ein kleine Exkursion: ==
UTF-8 ist eine Abkürzung für 8-Bit UCS Transformation Format , wobei UCS für „Universal Character Set“ steht. Sie ist die am meisten verbreiteter Standard Kodierung von Unicode-Zeichen. Bei der UTF-8-Kodierung wird jedem Unicode-Zeichen eine speziell kodierte Bytekette variabler Länge zugeordnet. UTF-8 unterstützt bis zu vier Byte, auf die sich wie bei allen UTF-Formaten alle Unicode-Zeichen abbilden lassen.
[[wikipedia:de:UTF-8|UTF-8]] ist eine Abkürzung für 8-Bit UCS Transformation Format , wobei UCS für „Universal Character Set“ steht. Sie ist die am meisten verbreiteter Standard Kodierung von Unicode-Zeichen. Bei der UTF-8-Kodierung wird jedem Unicode-Zeichen eine speziell kodierte Bytekette variabler Länge zugeordnet. UTF-8 unterstützt bis zu vier Byte, auf die sich wie bei allen UTF-Formaten alle Unicode-Zeichen abbilden lassen.


UTF8 ist ein zentraler Bestandteil als Weltweites Zeichenkodierung im Internet. So unterstützen moderne Browser und Email-Client UTF8 Standardmässig. Neben dem Internet empfiehlt es sich auch lokal auf dem Computer/Server mit dieser Kodierung zu arbeiten.
UTF8 ist ein zentraler Bestandteil als Weltweites Zeichenkodierung im Internet. So unterstützen moderne Browser und Email-Client UTF8 Standardmässig. Neben dem Internet empfiehlt es sich auch lokal auf dem Computer/Server mit dieser Kodierung zu arbeiten.


== Synology NAS und UTF-8 Unterstützung ==
== Ab DSM 4.3 ==
Synology hat aber der Version DSM 4.3 locale ins System integriert. Man kann mit "locale -a" die vorinstallierten Untersützung anzeigen.
 
Man kann im .profile ensprechend die Einträge setzen:
<pre>
LANG=de_DE.UTF-8
LC_ALL=de_DE.UTF-8
export LANG LC_ALL
</pre>
 
== Vor DSM 4.3 ==
 
=== Synology NAS und UTF-8 Unterstützung ===
Bei der Dateifreigaben Windows, Mac, Linux besteht bereit eine UTF-8 Unterstützung. Bei FTP muss man in der Systemsteuerung der DMS den UTF8-Support aktivieren. Bei der Shell sieht es anders aus. z.Z. gibt es bei der Standardinstallation keinen UTF-8 Support. Ein Ordner "öäü" sieht dann in der Shell folgendermassen aus:  
Bei der Dateifreigaben Windows, Mac, Linux besteht bereit eine UTF-8 Unterstützung. Bei FTP muss man in der Systemsteuerung der DMS den UTF8-Support aktivieren. Bei der Shell sieht es anders aus. z.Z. gibt es bei der Standardinstallation keinen UTF-8 Support. Ein Ordner "öäü" sieht dann in der Shell folgendermassen aus:  
<pre>
<pre>
Zeile 19: Zeile 29:
</pre>
</pre>


== Installation ==
=== Installation ===
 
=== Ziele und Anforderungen ===
Ziel dieses Beitrages ist es, dass man den UTF-8 Support für die Shell installieren kann.


==== Voraussetzungen ====
==== Ziele, Anforderungen und Voraussetzungen ====
Dieses Beschreibung richtet sich an Administratoren die sich in der Shell auskennen.
Dieses Beschreibung richtet sich an Administratoren, die sich in der [[Die Kommandozeile|Shell auskennen]]. Ziel dieses Beitrages ist es, dass man den UTF-8 Support für die Shell installieren kann. Dazu muuß die für den [[Welchen Prozessortyp besitzt mein System?|Prozessor der DS]] und die Version des DSM passende Toolchain [http://sourceforge.net/projects/dsgpl/files/ heruntergeladen werden].


==== System ====
===== Beispiel =====
  * System: Synology NAS DS211+
  * System: Synology NAS DS211+
  * DSM: 4.0 (2198)
  * DSM: 4.0 (2198)
* Tool-Chain: gcc421_glibc25_88f6281-GPL.tgz (Marvell 88F628x Linux 2.6.32)
Dann ist die passende Toolchain-Datei ''gcc421_glibc25_88f6281-GPL.tgz (Marvell 88F628x Linux 2.6.32)''. Im weiteren gehen wir von diesem Beispiel aus, für andere Systeme heissen die Verzeichnisse ''arm-none-linux-gnueabi/arm-none-linux-gnueabi'' anders.  
 
Sollte ein einderes Modell verwendet werden muss sichergestellen werden, dass die richtige CPU-Architektur verwendet wird.


==== Installation ====
ToolChain herunterladen
ToolChain herunterladen
<pre>
<pre>
Zeile 45: Zeile 49:
</pre>
</pre>


==== Installation ====
locale Ordner erstellen:
locale Ordner erstellen:
<pre>
<pre>
Zeile 52: Zeile 57:
Programme kopieren mit der die Daten generiert werden können
Programme kopieren mit der die Daten generiert werden können
<pre>
<pre>
cp ./arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/bin/locale /opt/bin/
cp arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/bin/locale* /usr/local/bin/
cp ./arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/bin/localedef /opt/bin/
</pre>
</pre>


Zeile 59: Zeile 63:
Lokalisierung kopieren
Lokalisierung kopieren
<pre>
<pre>
cp -r ./arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/share/i18n/ /usr/share
cp -r arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/share/i18n/ /usr/share
</pre>
</pre>


Zeile 67: Zeile 71:
Englisch/USA
Englisch/USA
<pre>
<pre>
/opt/bin/localedef -c -f UTF-8 -i en_US en_US.UTF-8
/usr/local/bin/localedef -c -f UTF-8 -i en_US en_US.UTF-8
</pre>
</pre>


Deutsch(Schweiz)
Deutsch(Schweiz)
<pre>
<pre>
/opt/bin/localedef -c -f UTF-8 -i de_CH de_CH.UTF-8
/usr/local/bin/localedef -c -f UTF-8 -i de_CH de_CH.UTF-8
</pre>
</pre>


Sollte der Befehl nach ca. 10-20 Sekunden beendet sein und keine Fehlermeldung erscheinen so kann man nun prüfen welche Kodierung verfügbar sind:
Sollte der Befehl nach ca. 10-20 Sekunden beendet sein und keine Fehlermeldung erscheinen so kann man nun prüfen welche Kodierung verfügbar sind:
<pre>
<pre>
     /opt/bin/locale –a
     /usr/local/bin/locale –a
     C
     C
     en_US.utf8
     en_US.utf8
Zeile 84: Zeile 88:
</pre>
</pre>


Ist nun der UTF-8 vorhanden kann man in seinem Profil-Datei diese eintragen:
===== Konfiguration =====
 
Ist nun der UTF-8 vorhanden, kann man in seiner Profil-Datei eintragen:
<pre>
<pre>
LANG=de_CH.UTF-8
LANG=de_CH.UTF-8
Zeile 91: Zeile 97:
</pre>
</pre>


Die Shell (Putty) kann nun geschlossen werden. Als letzter Punkt muss man bei Putty die Verbindungsdaten ändern:
Bei Benutzung von Putty muss man die Verbindungsdaten ändern:
<pre>
<pre>
Window>Translation
Window>Translation
Zeile 123: Zeile 129:
</pre>
</pre>


=== Anmerkung zu WinSCP/SCP ===
 
Bei WinSCP kann man UTF-8 nur mit den Protokollen FTP oder SFTP verwenden. SCP kann von Haus aus nicht UTF-8.
 
Näheres unter:
 
* http://winscp.net/eng/docs/faq_utf8
 
== Anmerkung zu Programmen ==
* Bei WinSCP kann man mittlerweile UTF-8 mit den Protokollen FTP, SFTP, SCP und WebDav verwenden. Näheres unter: http://winscp.net/eng/docs/faq_utf8
* Putty muss man ebenso auf UTF-8 umstellen.
* Interne Programme wie vi sind z.b. deaktiviertem --disable-nls compiliert, deshalb kann man nicht auf eine andere Sprache ändern.

Aktuelle Version vom 26. April 2017, 09:02 Uhr

Was ist UTF-8? Ein kleine Exkursion:

UTF-8 ist eine Abkürzung für 8-Bit UCS Transformation Format , wobei UCS für „Universal Character Set“ steht. Sie ist die am meisten verbreiteter Standard Kodierung von Unicode-Zeichen. Bei der UTF-8-Kodierung wird jedem Unicode-Zeichen eine speziell kodierte Bytekette variabler Länge zugeordnet. UTF-8 unterstützt bis zu vier Byte, auf die sich wie bei allen UTF-Formaten alle Unicode-Zeichen abbilden lassen.

UTF8 ist ein zentraler Bestandteil als Weltweites Zeichenkodierung im Internet. So unterstützen moderne Browser und Email-Client UTF8 Standardmässig. Neben dem Internet empfiehlt es sich auch lokal auf dem Computer/Server mit dieser Kodierung zu arbeiten.

Ab DSM 4.3

Synology hat aber der Version DSM 4.3 locale ins System integriert. Man kann mit "locale -a" die vorinstallierten Untersützung anzeigen.

Man kann im .profile ensprechend die Einträge setzen:

LANG=de_DE.UTF-8
LC_ALL=de_DE.UTF-8
export LANG LC_ALL 

Vor DSM 4.3

Synology NAS und UTF-8 Unterstützung

Bei der Dateifreigaben Windows, Mac, Linux besteht bereit eine UTF-8 Unterstützung. Bei FTP muss man in der Systemsteuerung der DMS den UTF8-Support aktivieren. Bei der Shell sieht es anders aus. z.Z. gibt es bei der Standardinstallation keinen UTF-8 Support. Ein Ordner "öäü" sieht dann in der Shell folgendermassen aus:

öäü

Der Grund ist schnell gefunden, es besteht kein UTF-8 Support:

NAS>locale –a
C
POSIX 

Installation

Ziele, Anforderungen und Voraussetzungen

Dieses Beschreibung richtet sich an Administratoren, die sich in der Shell auskennen. Ziel dieses Beitrages ist es, dass man den UTF-8 Support für die Shell installieren kann. Dazu muuß die für den Prozessor der DS und die Version des DSM passende Toolchain heruntergeladen werden.

Beispiel
* System: Synology NAS DS211+
* DSM: 4.0 (2198)

Dann ist die passende Toolchain-Datei gcc421_glibc25_88f6281-GPL.tgz (Marvell 88F628x Linux 2.6.32). Im weiteren gehen wir von diesem Beispiel aus, für andere Systeme heissen die Verzeichnisse arm-none-linux-gnueabi/arm-none-linux-gnueabi anders.

ToolChain herunterladen

wget http://downloads.sourceforge.net/project/dsgpl/DSM%204.0%20Tool%20Chains/Marvell%2088F628x%20Linux%202.6.32/gcc421_glibc25_88f6281-GPL.tgz

Enpacken

tar -zvxf gcc421_glibc25_88f6281-GPL.tgz

Installation

locale Ordner erstellen:

mkdir /usr/lib/locale

Programme kopieren mit der die Daten generiert werden können

cp arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/bin/locale* /usr/local/bin/


Lokalisierung kopieren

cp -r arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/share/i18n/ /usr/share


UTF-8 Datei mit dem localedef Tool erzeugen

Englisch/USA

/usr/local/bin/localedef -c -f UTF-8 -i en_US en_US.UTF-8

Deutsch(Schweiz)

/usr/local/bin/localedef -c -f UTF-8 -i de_CH de_CH.UTF-8

Sollte der Befehl nach ca. 10-20 Sekunden beendet sein und keine Fehlermeldung erscheinen so kann man nun prüfen welche Kodierung verfügbar sind:

    /usr/local/bin/locale –a
    C
    en_US.utf8
    de_CH.utf8
    POSIX 
Konfiguration

Ist nun der UTF-8 vorhanden, kann man in seiner Profil-Datei eintragen:

LANG=de_CH.UTF-8
LC_ALL=de_CH.UTF-8
export LANG LC_ALL 

Bei Benutzung von Putty muss man die Verbindungsdaten ändern:

Window>Translation

Character set translation> "Remote character set:" UTF-8


Verbindet man sich jetzt per Shell kann man den UTF-8 Support testen:

    NAS>locale
    LANG=de_CH.UTF-8
    LC_CTYPE="de_CH.UTF-8"
    LC_NUMERIC="de_CH.UTF-8"
    LC_TIME="de_CH.UTF-8"
    LC_COLLATE="de_CH.UTF-8"
    LC_MONETARY="de_CH.UTF-8"
    LC_MESSAGES="de_CH.UTF-8"
    LC_PAPER="de_CH.UTF-8"
    LC_NAME="de_CH.UTF-8"
    LC_ADDRESS="de_CH.UTF-8"
    LC_TELEPHONE="de_CH.UTF-8"
    LC_MEASUREMENT="de_CH.UTF-8"
    LC_IDENTIFICATION="de_CH.UTF-8"
    LC_ALL=de_CH.UTF-8

Somit sieht der Ordner öäü neu folgendermassen aus:

öäü



Anmerkung zu Programmen

* Bei WinSCP kann man mittlerweile UTF-8 mit den Protokollen FTP, SFTP, SCP und WebDav verwenden. Näheres unter: http://winscp.net/eng/docs/faq_utf8
* Putty muss man ebenso auf UTF-8 umstellen.
* Interne Programme wie vi sind z.b. deaktiviertem --disable-nls compiliert, deshalb kann man nicht auf eine andere Sprache ändern.