Οδηγός Προσαρμογής UTF-8 Κωδικοποίησης στο Gentoo Linux Thomas Martin Alexander Simonov Πάλλα Δέσποινα Αυτός ο οδηγός βοηθά στην προσαρμογή και τη χρήση του συνόλου χαρακτήρων UTF-8 κωδικοποιήσης Unicode, σε ένα σύστημα Gentoo Linux, ενώ εκθέτει τα πλεονεκτήματα της κωδικοποίησης Unicode και συγκεκριμένα κατά UTF-8. 1.7 2005-03-25 Κωδικοποιήσεις Χαρακτήρων
Τι είναι μια Κωδικοποίηση Χαρακτήρων;

Οι υπολογιστές δεν μπορούν να κατανοήσουν αυτούσιο κείμενο. Αντίθετα, κάθε χαρακτήρας αναπαριστάται από κάποιον αριθμό. Συνήθως, κάθε σύνολο αριθμών που χρησιμοποιείται για την αναπαράσταση αλφαβήτων και χαρακτήρων (γνωστό και ώς σύστημα κώδικα, κωδικοποίηση ή σύνολο χαρακτήρων) περιορίζεται σε μέγεθος εξαιτίας των περιορισμών hardware του υπολογιστή.

Η Ιστορία των Κωδικοποιήσεων Χαρακτήρων

Η πιο κοινή (ή τουλάχιστον ευρύτερα αποδεκτή) κωδικοποίηση είναι η ASCII (American Standard Code for Information Interchange). Θεωρείται ότι η ASCII είναι το πιο επιτυχημένο πρότυπο λογισμικού που έχει εφαρμοστεί. Η σύγχρονη ASCII τυποποιήθηκε το 1986 (ANSI X3.4, RFC 20, ISO/IEC 646:1991, ECMA-6) από το Αμερικανικό Ίδρυμα Προτύπων (American National Standards Institute).

Η ASCII είναι αυστηρώς των επτά bit, που σημαίνει ότι χρησιμοποιεί συνδυασμούς bit που αντιπροσωπεύονται από επτά δυαδικά ψηφία, τα οποία προσφέρουν ένα εύρος δεκαδικών από 0 έως 127. Αυτά συμπεριλαμβάνουν 32 μη-ορατούς χαρακτήρες ελέγχου, οι περισσότεροι από τους οποίους βρίσκονται στο διάστημα 0 έως 31, με τον τελικό χαρακτήρα ελέγχου DEL, διαγραφή, στο 127. Οι χαρακτήρες από 32 έως 126 είναι οι ορατοί: το διάστημα, σημεία στίξης, Λατινικά γράμματα και αριθμοί.

Το όγδοο bit στην ASCII χρησιμοποιήθηκε αρχικά ως bit ισοτιμίας για τον έλεγχο σφαλμάτων. Αν αυτό δεν απαιτείται, παραμένει 0. Αυτό σημαίνει ότι με την ASCII, κάθε χαρακτήρας αναπαριστάται από ένα byte.

Παρά το γεγονός ότι η ASCII ήταν επαρκής για την επικοινωνία στη σύγχρονη Αγγλική, σε άλλες ευρωπαϊκές γλώσσες που χρησιμοποιούν τονισμένους χαρακτήρες, η κατάσταση ήταν δυσκολότερη. Τα πρότυπα ISO 8859 αναπτύχθηκαν για να καλύψουν τις συγκεκριμένες ανάγκες. Ήταν συμβατά προς τα πίσω με την ASCII, αλλά αντί να μην καταχωρούν τιμή στο όγδοο bit, το χρησιμοποίησαν για να επιτρέψουν την αναπαράσταση 127 επιπλέον χαρακτήρων σε κάθε κωδικοποίηση. Οι περιορισμοί του ISO 8859 έγιναν σύντομα εμφανείς και υπάρχουν τη στιγμή αυτή 15 παραλλαγές του προτύπου ISO 8859 (8859-1 έως και 8859-15). Πέραν του συμβατού με ASCII, εύρους byte αυτών των συνόλων χαρακτήρων, υπάρχουν συχνά διενέξεις μεταξύ των γραμμάτων που αναπαριστώνται από κάθε byte. Για να γίνουν τα πράγματα ακόμα πιο πολύπλοκα στη δια-λειτουργικότητα των κωδικοποιήσεων χαρακτήρων, κάποιες εκδόσεις των Microsoft Windows χρησιμοποιούν την κωδικοποίηση Windows-1252 αντί εκείνης των Δυτικο-ευρωπαϊκών γλωσσών. Πρόκειται για ένα υπερσύνολο του ISO 8859-1, που ωστόσο διαφοροποιείται κατά πολλούς τρόπους. Παρόλα αυτά, τα συγκεκριμένα σύνολα διατηρούν την ASCII συμβατότητά τους.

Η απαραίτητη ανάπτυξη εντελώς διαφορετικού τύπου κωδικοποιήσεων του ενός byte για μη-Λατινικά αλφάβητα, όπως η EUC (Extended Unix Coding, Εκτεταμένη Κωδικοποίηση Unix) που χρησιμοποιείται για την Ιαπωνική και Κορεατική γλώσσα (και εν μέρει την Κινεζική) συνέβαλε στη σύγχυση, καθώς άλλα λειτουργικά συστήματα χρησιμοποιούσαν ακόμα διαφορετικά σύνολα χαρακτήρων για τις ίδιες γλώσσες, όπως π.χ. τα Shift-JIS και ISO-2022-JP. Οι χρήστες που ήθελαν να εμφανίσουν κυριλλικά ιδεογράμματα έπρεπε να επιλέξουν μεταξύ του KOI8-R για τη Ρωσική και Βουλγαρική ή του KOI8-U για την Ουκρανική, αλλά και των άλλων κυριλλικών κωδικοποιήσεων όπως το αποτυχημένο ISO 8859-5, και το κοινό Windows-1251. Όλα τα παραπάνω σύνολα χαρακτήρων ελάχιστα διατηρούσαν τη συμβατότητα με το ASCII (αν και οι κωδικοποιήσεις KOI8 ταξινομούν τους κυριλλικούς χαρακτήρες με Λατινική σειρά, έτσι ώστε σε περίπτωση που αφαιρεθεί το όγδοο bit, το κείμενο εξακολουθεί να είναι κατανοητό σε ένα τερματικό ASCII, μέσω αναγωγής σε διαφορετικό αλφάβητο).

Αυτό οδήγησε σε σύγχυση καθώς και σε ολοκληρωτική αδυναμία πολυγλωσσικής επικοινωνίας, κυρίως μεταξύ διαφορετικών αλφαβήτων. Εισαγωγή στο Unicode.

Τι είναι το Unicode;

Το Unicode αποδεσμεύεται από το κλασσικό όριο του ενός byte των συνόλων χαρακτήρων, έτσι ώστε ακόμα και με δύο byte ανά χαρακτήρα να γίνεται εφικτή η αναπαράσταση μέχρι 65.536 χαρακτήρων. Παρόλο που το πλήθος αυτό είναι εξαιρετικά μεγάλο συγκριτικά με κωδικοποιήσεις των επτά και οκτώ bit, δεν επαρκεί για σύνολα χαρακτήρων σχεδιασμένα για σύμβολα, γραφές τις οποίες χρησιμοποιούν ακαδημαϊκοί και σύμβολα που χρησιμοποιούνται μόνο στα μαθηματικά ή άλλα εξειδικευμένα πεδία.

Το Unicode έχει χαρτογραφηθεί με πολλούς διαφορετικούς τρόπους, αλλά οι δύο συνηθέστεροι είναι οι UTF (Unicode Transformation Format) και UCS (Universal Character Set). Ένας αριθμός ο οποίος ακολουθεί το UTF υποδεικνύει το πλήθος των bit που αποτελούν μια μονάδα , ενώ ο αριθμός που ακολουθεί το UCS υποδεικνύει το πλήθος των byte. Το UTF-8 είναι πλέον το περισσότερο διαδεδομένο μέσο ανταλλαγής κειμένου Unicode, σαν αποτέλεσμα του ακριβούς 8-bit χαρακτήρα του και αποτελεί το αντικείμενο που εξετάζει το παρόν κείμενο.

UTF-8

Το UTF-8 είναι μια κωδικοποίηση χαρακτήρων μεταβλητού μήκους και αυτό στη συγκεκριμένη περίπτωση σημαίνει ότι χρησιμοποιεί από 1 έως 4 byte για κάθε σύμβολο. Έτσι, το πρώτο byte του UTF-8 χρησιμοποιείται για την κωδικοποίηση ASCII, δίνοντας στο σύνολο χαρακτήρων πλήρη συμβατότητα προς τα πίσω με την κωδικοποίηση ASCII. Το UTF-8 σημαίνει ότι χαρακτήρες ASCII και Λατινικοί χαρακτήρες ανταλλάσσονται με μια μικρή αύξηση στο μέγεθος των δεδομένων καθώς χρησιμοποιείται μόνο το πρώτο byte. Χρήστες Ανατολικών αλφαβήτων όπως το Ιαπωνικό, στους οποίους έχει διατεθεί μεγαλύτερο εύρος byte, δυσαρεστούνται, καθώς αυτό σημαίνει ότι έχουν πλεονασμό δεδομένων έως και 50%.

Τι Μπορεί να Κάνει το UTF-8 Για Εσάς

Το UTF-8 σας επιτρέπει να εργάζεστε σε ένα πολύ-γλωσσικό περιβάλλον συμβατό με τα διεθνώς αποδεκτά πρότυπα, με συγκριτικά χαμηλό πλεονασμό δεδομένων. Το UTF-8 είναι ο τρόπος που προτιμάται για τη μετάδοση μη-ASCII χαρακτήρων μέσω Internet, Email, IRC και σχεδόν κάθε άλλο μέσο. Παρόλα αυτά, πολλοί θεωρούν ότι γίνεται κατάχρηση του UTF-8 στην online επικοινωνία. Είναι καλό να γνωρίζουμε τη νοοτροπία ενός συγκεκριμένου καναλιού, μιας mailing list ή Usenet group σχετικά με αυτό πριν να χρησιμοποιήσουμε μη-ASCII χαρακτήρες UTF-8.

Ρυθμίζοντας το UTF-8 στο Gentoo Linux
Εύρεση ή Δημιουργία των UTF-8 Εντοπιοτήτων (Locales)

Τώρα που κατανοήσατε τις αρχές πίσω από το Unicode, μπορείτε να ξεκινήσετε να χρησιμοποιείτε το UTF-8 στο σύστημά σας.

Οι πρωταρχικές απαιτήσεις του UTF-8 είναι να έχετε εγκατεστημένη μια έκδοση του glibc με υποστήριξη της εθνικής γλώσσας. Το μέσο που συνιστάται για αυτό τον σκοπό είναι το αρχείο /etc/locales.build σε συνδυασμό με την userlocales USE σημαία (flag). Δεν αποτελεί σκοπό αυτού του κειμένου η ανάλυση της χρησιμότητας του συγκεκριμένου αρχείου, ωστόσο, ευτυχώς υπάρχει επαρκής τεκμηρίωση για τη χρήση αυτού του αρχείου στα σχόλια που περικλείονται σε αυτό. Επίσης, εξηγείται στον Οδηγό Τοπικοποίησης του Gentoo Linux.

Στη συνέχεια, πρέπει να αποφασίσουμε αν μια εντοπιότητα UTF-8 είναι ήδη διαθέσιμη για τη γλώσσα μας, ή χρειάζεται να δημιουργήσουμε μία εμείς.

(Αντικαταστήστε το "en_GB" με την επιθυμητή σας εντοπιακή ρύθμιση)
# locale -a | grep 'en_GB'
en_GB
en_GB.utf8

Από την έξοδο αυτής της εντολής, παίρνουμε το αποτέλεσμα με μια κατάληξη παρόμοια του .utf8. Αν δεν υπάρχει αποτέλεσμα με κατάληξη παρόμοια του.utf8, πρέπει να δημιουργήσουμε μια εντοπιότητα συμβατή με UTF-8.

Εκτελέστε τον παρακάτω κώδικα μόνο εάν δεν διαθέτετε μια εντοπιότητα UTF-8 για τη γλώσσα σας.
(Αντικαταστήστε το "en_GB" με την επιθυμητή σας εντοπιακή ρύθμιση)
# localedef -i en_GB -f UTF-8 en_GB.utf8

Ένας άλλος τρόπος για να συμπεριλάβουμε μια εντοπιότητα UTF-8 είναι να την προσθέσουμε στο αρχείο /etc/locales.build και να ξανακάνουμε build το glibc με την userlocales flag ρυθμισμένη ως USE.

en_GB.UTF-8/UTF-8
Ρύθμιση Εντοπιότητας

Παρόλο που μπορεί πλέον να έχετε αποφασίσει να χρησιμοποιήσετε το UTF-8 σε ολόκληρο το σύστημά σας, ο συγγραφέας δεν συνιστά τη ρύθμιση του UTF-8 για τον root χρήστη. Αντίθετα, είναι προτιμότερο να ρυθμίσετε την εντοπιότητα στο ~/.profile του χρήστη σας (ή αν χρησιμοποιείτε κέλυφος C, στο ~/.login).

Αν έχετε αμφιβολίες για το ποιο αρχείο πρέπει να χρησιμοποιήσετε, χρησιμοποιήστε το ~/.profile. Επίσης, αν δεν είστε σίγουροι για το ποιο code listing να χρησιμοποιήσετε, χρησιμοποιείστε την έκδοση Bourne.
export LANG="en_GB.utf8"
export LC_ALL="en_GB.utf8"
setenv LANG "en_GB.utf8"
setenv LC_ALL "en_GB.utf8"

Τώρα αποσυνδεθείτε και επιστρέψτε πάλι για να εφαρμόσετε τις αλλαγές. Θέλουμε αυτές οι μεταβλητές περιβάλλοντος να ισχύουν σε ολόκληρο το περιβάλλον, και για αυτό είναι καλύτερα να αποσυνδεθούμε και να επιστρέψουμε ή τουλάχιστον να κάνουμε source το ~/.profile ή το ~/.login στην κονσόλα από όπου ξεκινήσαμε άλλες διαδικασίες.

Υποστήριξη Εφαρμογών

Την περίοδο που το Unicode άρχισε να διαδίδεται στον κόσμο του λογισμικού, τα σύνολα χαρακτήρων πολλαπλών byte δεν ταίριαζαν απόλυτα σε γλώσσες προγραμματισμού όπως η C, στην οποία είναι γραμμένα πολλά προγράμματα που χρησιμοποιούνται σε καθημερινή βάση. Ακόμα και σήμερα, κάποια προγράμματα δεν είναι ικανά να χειριστούν κατάλληλα το UTF-8. Ευτυχώς τα περισσότερα είναι ικανά!

Ονόματα Αρχείων, NTFS και FAT

Υπάρχουν αρκετές επιλογές NLS στο μενού ρύθμισης του πυρήνα Linux, αλλά είναι σημαντικό να μην μπερδευτούμε! Κατά κύριο λόγο, αυτό που χρειάζεται να κάνετε είναι να ενσωματώσετε στον πυρήνα υποστήριξη NLS UTF-8 και να αλλάξετε την προκαθορισμένη επιλογή NLS σε utf8.

File Systems --> 
Native Language Support -->  
(utf8) Default NLS Option 
<*> NLS UTF8
(Επίσης <*> άλλα σύνολα χαρακτήρων που χρησιμοποιούνται από το FAT σύστημα αρχείων σας ή από Joilet CD-ROMs)

Αν θέλετε να φορτώσετε NTFS partitions, ίσως χρειαστεί να ορίσετε μια nls=επιλογή στην εντολή mount. Για περισσότερες πληροφορίες, δείτε: man mount.

Για μετατροπή της κωδικοποίησης των ονομάτων αρχείων μπορεί να χρησιμοποιηθεί η app-text/convmv.

# emerge --ask app-text/convmv
# convmv -f τρέχουσα-κωδικοποίηση -t utf-8 όνομα-αρχείου

Για μετατροπή του περιεχομένου αρχείων, χρησιμοποιήστε την εφαρμογή iconv σε συνδυασμό με την glibc:

(Αντικαταστήστε το iso-8859-1 με το σύνολο χαρακτήρων από το οποίο κάνετε την μετατροπή)
(Ελέγξτε εάν το αποτέλεσμα είναι λογικό)
# iconv -f iso-8859-1 -t utf-8 όνομα-αρχείου 
(Μετατρέψτε ένα αρχείο, θα χρειαστεί να δημιουργήσετε νέο αρχείο)
# iconv -f iso-8859-1 -t utf-8 όνομα-αρχείου > νέο-αρχείο

Η app-text/recode μπορεί επίσης να χρησιμοποιηθεί για αυτόν τον σκοπό.

Η Κονσόλα Συστήματος Θα χρειαστείτε το >=sys-apps/baselayout-1.11.9 για Unicode στην κονσόλα.

Για να ενεργοποιήσετε το UTF-8 στην κονσόλα, πρέπει να επεξεργαστείτε το αρχείο /etc/rc.conf και να ορίσετε UNICODE="yes", διαβάστε επίσης τα σχόλια που περιέχονται σε αυτό το αρχείο - είναι πολύ σημαντικό να διαθέτετε κάποια γραμματοσειρά με ικανοποιητικό εύρος χαρακτήρων αν θέλετε να εκμεταλλευτείτε τα μέγιστα των δυνατοτήτων του Unicode.

Η μεταβλητή KEYMAP, που ορίζεται στο /etc/conf.d/keymaps, θα πρέπει να έχει μια Unicode keymap ορισμένη. Για να γίνει αυτό, απλώς προσθέστε στο keymap, που βρίσκεται ήδη ορισμένο εκεί, το -u.

(Αλλάξτε το "uk" στην τοπική σας διάταξη πληκτρολογίου)
KEYMAP="-u uk"
Ncurses και Slang Αγνοήστε την αναφορά του Slang σε αυτήν την ενότητα, εάν δεν το έχετε εγκατεστημένο ή δεν το χρησιμοποιείτε.

Είναι μια καλή σκέψη να προσθέσετε την unicode στις global USE σημαίες (flags) σας στο /etc/make.conf, και στη συνέχεια να ενσωματώσετε πάλι την sys-libs/ncurses καθώς και την sys-libs/slang αν αυτό είναι απαραίτητο:

(Αποφεύγουμε την τοποθέτηση αυτών των βιβλιοθηκών στο γενικό μας αρχείο με το --oneshot)
# emerge --oneshot --verbose --ask sys-libs/ncurses sys-libs/slang

Επίσης, χρειάζεται να επανενσωματώσουμε τα πακέτα που δείχνουν σε αυτές και πλέον οι αλλαγές στην USE έχουν εφαρμοστεί. Το εργαλείο που χρησιμοποιούμε (revdep-rebuild) ανήκει στο πακέτο gentoolkit.

# revdep-rebuild --soname libncurses.so.5
# revdep-rebuild --soname libslang.so.1
KDE, GNOME και Xfce

Όλα τα κυριότερα γραφικά περιβάλλοντα παρέχουν πλήρη υποστήριξη Unicode, και δεν απαιτείται επιπλέον ρύθμιση από αυτές που ήδη αναφέρθηκαν σε αυτό τον οδηγό. Αυτό συμβαίνει διότι τα toolkit γραφικών (Qt ή GTK+2) αναγνωρίζουν το UTF-8. Κατά συνέπεια, όλες οι εφαρμογές που τρέχουν πάνω σε αυτά θα αναγνωρίζουν επίσης το UTF-8.

Οι εξαιρέσεις αυτού του κανόνα είναι τα Xlib και GTK+1. Το GTK+1 απαιτεί ένα iso-10646-1 FontSpec στο ~/.gtkrc, για παράδειγμα -misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1 . Επίσης, εφαρμογές οι οποίες χρησιμοποιούν τα Xlib ή Xaw θα χρειαστούν ένα παρόμοιο FontSpec, διαφορετικά δε θα λειτουργήσουν.

Σε περίπτωση που διαθέτετε κάποια έκδοση του gnome1 control center, χρησιμοποιήστε αυτή. Επιλέξτε από εκεί οποιαδήποτε γραμματοσειρά iso10646-1.
style "user-font"
{
    fontset="-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1"
}
widget_class "*" style "user-font"

Εάν μια εφαρμογή υποστηρίζει Qt και GTK+2 GUI, το GTK+2 GUI θα αποδώσει γενικά καλύτερα στο Unicode.

X11 και Γραμματοσειρές Το x11-base/xorg-x11 έχει πολύ καλύτερη υποστήριξη του Unicode από το XFree86 και συστήνεται.

Οι γραμματοσειρές TrueType υποστηρίζουν το Unicode και οι περισσότερες από τις γραμματοσειρές που συνοδεύουν το Xorg έχουν εκπληκτική υποστήριξη χαρακτήρων, παρόλο που, όπως είναι προφανές, δεν έχει δημιουργηθεί κάθε ένα από τα ιδεογράμματα που υποστηρίζει το Unicode για αυτή τη γραμματοσειρά. Για να ενσωματώσετε γραμματοσειρές (συμπεριλαμβανομένης της ομάδας Bitstream Vera) με υποστήριξη γραμμάτων της Ανατολικής Ασίας στο X, σιγουρευτείτε ότι έχετε ορίσει την cjk USE σημαία. Πολλές άλλες εφαρμογές χρησιμοποιούν αυτήν τη σημαία οπότε μπορεί να είναι ωφέλιμο να την προσθέσετε ως USE μόνιμα.

Επίσης, πολλά πακέτα γραμματοσειρών στο Portage αναγνωρίζουν το Unicode.

# emerge terminus-font intlfonts freefonts cronyx-fonts corefonts
Διαχειριστές Παραθυρικού Περιβάλλοντος (Window Managers) και Εξομοιωτές Τερματικών (Terminal Emulators)

Οι διαχειριστές παραθυρικού περιβάλλοντος, που δεν βασίζονται στο GTK ή το Qt, έχουν κατά κανόνα πολύ καλή υποστήριξη Unicode αφού συνήθως κάνουν χρήση της βιβλιοθήκης Xft για τη διαχείριση γραμματοσειρών. Αν ο διαχειριστής παραθύρων σας δεν χρησιμοποιεί την Xft για γραμματοσειρές, μπορείτε να χρησιμοποιήσετε την FontSpec που αναφέρεται στην προηγούμενη ενότητα, ως γραμματοσειρά Unicode.

Εξομοιωτές τερματικών που κάνουν χρήση της Xft και υποστηρίζουν Unicode είναι δυσκολότερο να συναντήσετε. Πέρα από το Konsole και το gnome-terminal, οι καλύτερες επιλογές για Portage είναι x11-terms/rxvt-unicode, xfce-extra/terminal, gnustep-apps/terminal, x11-terms/mlterm, x11-terms/mrxvt ή απλά το x11-terms/xterm αφού έχει ενσωματωθεί με την unicode σημαία USE, και καλεστεί ως uxterm. Επίσης, το app-misc/screen υποστηρίζει UTF-8, όταν καλεστεί ως screen -u ή το παρακάτω έχει προστεθεί στο ~/.screenrc:

defutf8 on
Vim, Emacs, Xemacs και Nano

Οι Vim, Emacs και Xemacs παρέχουν πλήρη υποστήριξη UTF-8 ενώ έχουν και ενσωματωμένη δυνατότητα αναγνώρισης αρχείων UTF-8. Για περισσότερες πληροφορίες σχετικά με το Vim, δοκιμάστε το :help mbyte.txt.

Το Nano δεν παρέχει προς το παρόν υποστήριξη UTF-8, παρόλο που αυτό σχεδιάζεται εδώ και καιρό. Με λίγη τύχη, στο μέλλον τα πράγματα θα αλλάξουν. Τη στιγμή που γράφεται αυτό το κείμενο, η υποστήριξη UTF-8 βρίσκεται στο CVS του Nano, και θα πρέπει να συμπεριλαμβάνεται στην επόμενη διανομή του.

Κελύφη (Shells)

Το bash παρέχει πλήρη υποστήριξη Unicode μέσω της βιβλιοθήκης GNU readline. Οι χρήστες του Z Shell βρίσκονται ίσως σε λίγο δυσκολότερη θέση - κανένα από τα τμήματα του κελύφους δεν έχει υποστήριξη Unicode, παρά το γεγονός ότι αυτή τη στιγμή βρίσκεται σε εξέλιξη συντονισμένη προσπάθεια να προστεθεί υποστήριξη συνόλων χαρακτήρων πολλαπλών byte.

Τα κελύφη C, tcsh και ksh δεν παρέχουν καμία υποστήριξη του UTF-8.

Irssi

Από το 0.8.10, το Irssi υποστηρίζει πλήρως το UTF-8, παρόλο που απαιτείται από τον χρήστη να ορίσει μια επιλογή.

/set term_charset UTF-8

Σε κανάλια, όπου οι χαρακτήρες εκτός ASCII συχνά ανάγονται σε μη-UTF-8 σύνολα χαρακτήρων, η εντολή /recode μπορεί να χρησιμοποιηθεί για την μετατροπή των χαρακτήρων. Για περισσότερες πληροφορίες πληκτρολογήστε /help recode.

Mutt

Ο mail agent Mutt παρέχει πολύ καλή υποστήριξη Unicode. Για να χρησιμοποιήσετε UTF-8 με τον Mutt προσθέστε τα ακόλουθα στο ~/.muttrc:

set send_charset="utf8" (κωδικοποίηση των εξερχόμενων)
set charset="utf8"      (κωδικοποίηση εμφάνισης)
Ίσως εξακολουθούν να εμφανίζονται '?' στα μηνύματα που διαβάζετε μέσω του Mutt. Αυτό συμβαίνει διότι άλλοι χρήστες χρησιμοποιούν κάποιον mail client που δεν υποδεικνύει το είδος της κωδικοποίησης που χρησιμοποιήθηκε. Το μόνο που μπορείτε να κάνετε για αυτό είναι να τους ζητήσετε να ρυθμίσουν κατάλληλα το πρόγραμμα που χρησιμοποιούν.

Περισσότερες πληροφορίες μπορείτε να βρείτε στο Mutt WikiWiki.

Γενική Δοκιμή

Υπάρχουν πολλά websites για δοκιμή του UTF-8. Τα net-www/w3m, net-www/links, net-www/elinks, net-www/lynx και όλοι οι browsers που βασίζονται στο Mozilla (συμπεριλαμβανομένου του Firefox) υποστηρίζουν UTF-8. Οι Konqueror και Opera παρέχουν επίσης πλήρη υποστήριξη UTF-8.

Όταν χρησιμοποιείτε κάποιον web browser μόνο κειμένου, βεβαιωθείτε ότι το τερματικό που χρησιμοποιείτε αναγνωρίζει το Unicode.

Αν ορισμένοι χαρακτήρες εμφανίζονται σαν κουτάκια με γράμματα ή αριθμούς στο εσωτερικό τους, αυτό σημαίνει ότι η γραμματοσειρά σας δεν έχει αντίστοιχο χαρακτήρα για το σύμβολο ή ιδεόγραμμα που θέλει να το UTF-8. Αντί αυτού εμφανίζει ένα κουτί με το δεκαεξαδικό κώδικα του UTF-8 συμβόλου.

  • Μια Σελίδα Δοκιμής UTF-8 του W3C
  • Μια σελίδα δοκιμής UTF-8 που παρέχει το University of Frankfurt
Μέθοδοι Εισαγωγής

Στο X μπορείτε να επωφεληθείτε τα πλήκτρα που δεν χρησιμοποιούνται (Dead keys) για την εισαγωγή χαρακτήρων που δεν συμπεριλαμβάνονται στο πληκτρολόγιό σας. Λειτουργούν πατώντας δεξί Alt (ή σε κάποιες χώρες AltGr) ταυτόχρονα με ένα από τα πλήκτρα του μη-αλφαβητικού τμήματος του πληκτρολογίου που βρίσκονται αριστερά από το πλήκτρο return και μετά, αφού τα αφήσετε, πατώντας το γράμμα που θέλετε. Η μετατροπή θα πρέπει να γίνει από το πλήκτρο που δεν χρησιμοποιείται. Μπορείτε να κάνετε επιπλέον τροποποιήσεις στην είσοδο, κάνοντας χρήση του Shift ταυτόχρονα με το δεξί Alt και το πλήκτρο-μετατροπέα.

Για να ενεργοποιήσετε τα dead keys στο X, θα χρειαστείτε μια διάταξη που τα υποστηρίζει. Οι περισσότερες Ευρωπαϊκές διατάξεις πληκτρολογίου έχουν ήδη ded keys με την προκαθορισμένη μεταβλητή. Ωστόσο αυτό δεν ισχύει για διατάξεις Βορείου Αμερικής. Αν και σε κάποιο βαθμό υπάρχει ασυνέπεια μεταξύ των διατάξεων, η πιο εύκολη λύση είναι να χρησιμοποιείται μια διάταξη της μορφής π.χ. "en_US" αντί για "us". Η διάταξη ορίζεται στο /etc/X11/xorg.conf με τη μορφή:

Section "InputDevice"
    Identifier "Keyboard0"
    Driver     "kbd"
    Option     "XkbLayout" "en_US" # Αντί για απλά "us"
    (Άλλες επιλογές Xkb εδώ)
EndSection
Η παραπάνω μετατροπή χρειάζεται μόνο αν χρησιμοποιείτε Βορειοαμερικανική διάταξη πληκτρολογίου ή κάποια άλλη διάταξη όπου τα dead keys δεν φαίνεται να λειτουργούν. Οι Ευρωπαίοι χρήστες θα πρέπει να έχουν ήδη λειτουργικά dead keys.

Η αλλαγή αυτή χρειάζεται επανεκκίνηση του X server. Για να εφαρμόσετε την αλλαγή τώρα χρησιμοποιήστε το εργαλείο setxkbmap, για παράδειγμα, setxkbmap en_US.

Είναι πιθανώς ευκολότερο να περιγραφούν τα dead keys με παραδείγματα. Παρόλο που το αποτέλεσμα εξαρτάται από την εντοπιότητα, η βασική ιδέα παραμένει η ίδια ανεξαρτήτως εντοπιότητας. Τα παραδείγματα περιέχουν UTF-8, επομένως για να τα δείτε χρειάζεται είτε να ορίσετε τον browser σας να εμφανίσει τη σελίδα ως UTF-8, είτε να έχετε ήδη μια UTF-8 εντοπιότητα ρυθμισμένη.

Όταν πατώ δεξί Alt (ή AltGr) και [ ταυτόχρονα, και μετά τα αφήνω, πατώντας στη συνέχεια a, εμφανίζεται το 'ä'. Όταν πατώ δεξί Alt (ή AltGr) και [ ταυτόχρονα, και μετά e, εμφανίζεται το 'ë'. Όταν πατώ δεξί Alt (ή AltGr) και ; ταυτόχρονα εμφανίζεται το 'á', και όταν πατώ δεξί Alt (ή AltGr) και ; ταυτόχρονα, μετά τα αφήνω, πατώντας στη συνέχεια e, εμφανίζεται το 'é'.

Πατώντας δεξί Alt, Shift και [ ταυτόχρονα, μετά αφήνοντας αυτά και πατώντας το a, εμφανίζεται το Σκανδιναβικό 'å'. Παρόμοια, πατώντας δεξί Alt, Shift και [ ταυτόχρονα, μετά αφήνοντας μόνο το [ και μετά πατώντας το πάλι εμφανίζεται το '˚'. Παρόλο που φαίνεται σαν ένα, αυτό το (U+02DA) δεν είναι το ίδιο με ένα σύμβολο βαθμού (U+00B0). Η λειτουργία αυτή χρησιμοποιείται και για άλλους τονισμούς που παράγονται από dead keys - δεξί Alt και [, αφήνοντας μόνο το [ και μετά πατώντας το πάλι εμφανίζει το '¨'.

Το δεξί Alt μπορεί να χρησιμοποιηθεί μόνο για αλφαβητικά πλήκτρα. Για παράδειγμα, δεξί Alt και m, εμφανίζεται το μικρό Ελληνικό μι: 'µ'.

Αναφορές
  • Το λήμμα της Wikipedia για το Unicode
  • Το λήμμα της Wikipedia για το UTF-8
  • Unicode.org
  • UTF-8.com
  • RFC 3629
  • RFC 2277