Χρήση εθνικών και ειδικών χαρακτήρων στην HTML

Είναι δυνατό να χρησιμοποιήσετε εθνικούς χαρακτήρες, όπως ελληνικά ή κυριλλικά γράμματα, όπως και μαθηματικά σύμβολα και οποιονδήποτε χαρακτήρα εκτός του ASCII για κείμενα HTML και γενική χρήση. Υπάρχουν όμως σοβαρά προβλήματα στην περιοχή αυτή, παρά το οτι οι προδιαγραφές της HTML και του HTTP προσφέρουν πολλούς τρόπους για χρήση μεγάλων ρεπερτορίων χαρακτήρων. Αυτή η πρακτική επισκόπηση σκοπεύει στην επιλογή ενός τρόπου (από αυτούς που συμμορφώνονται με τις προδιαγραφές) με τον οποίο να μπορεί κανείς να επιτύχει μέγιστη λειτουργικότητα στους επι του παρόντος δημοφιλείς browsers όπως ο Netscape και Internet Explorer (πρόσφατες εκδόσεις).

Αρχικά, περιγράφεται ένας καθολικός τρόπος· σας επιτρέπει να εισάγετε οποιονδήποτε χαρακτήρα σε ένα έγγραφο. Εφόσον ο καθολικός τρόπος είναι κάπως περίπλοκος, μπορεί να θέλετε να χρησιμοποιήσετε απλούστερους τρόπους αν χρειάζεστε μόνο ένα περιορισμένο ρεπερτόριο χαρακτήρων (όπως οι χαρακτήρες του ASCII και τα κυριλλικά ή τα ελληνικά γράμματα).

Περιεχόμενα:

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

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

Συνεπώς, αν χρειάζεστε πχ. μερικά γράμματα εκτός Latin-1 με διακριτικά σημάδια, είναι ίσως καλύτερο το να αποφύγετε το πρόβλημα παραλείποντας τα διακριτικά (δίνοντας ίσως μια μια σημείωση συγνώμης που δεν μπορέσατε να παρουσιάσετε το όνομα σωστά). Και αν απλά χρειάζεστε μερικά Ελληνικά γράμματα για χρήση μαθηματικών ή φυσικών συμβόλων, ίσως θα ήταν καλύτερο να τα γράψετε απλως σαν πχ. "alpha" ή "omega" (ή "ohms", ανάλογα με το νόημα).


Ο ποιό γενικός τρόπος: ASCII, αναφορές χαρακτήρων, και κωδικοποίηση UTF-8

Προσοχή: φαίνεται οτι ο Internet Explorer 4.0 συμπεριφέρεται πολύ προβληματικά με κάθε σύνδεσμο (link) που περιέχει τον χαρακτήρα # (πχ. σύνδεσμοι σε περιοχές του ιδίου εγγράφου ή σύνδεσμοι σε καθορισμένες περιοχές σε άλλα έγγραφα) εάν η κωδικοποίηση UTF-8 καθοριστεί όπως στο μέρος 3 παρακάτω (ή με τη χρήση του στοιχείου META). Εξαιτίας αυτού του προβλήματος, είναι ίσως καλύτερο να αποφεύγετε να ορίζετε UTF-8 (που χρειάζεται μόνο για να αντιμετωπίσει ένα σφάλμα του Netscape!).

Η ακόλουθη μέθοδος, προτεινόμενη από τον Αλαν Τζ. Φλάβελλ, συμβαδίζει με τις προδιαγραφές και επιτρέπει τη χρήση ολόκληρου του ρεπερτορίου ISO 10646 (Unicode) περιληπτικά:

Αυτό θα δουλέψει τουλάχιστον στους Netscape 4.0 και Internet Explorer 4.0 αν είναι σωστά ρυθμισμένοι. Αν πιστεύετε οτι οι χρήστες σας χρειάζονται οδηγίες σχετικά με αυτό, τότε, αν δεν έχετε βρεί ένα καλύτερο κείμενο γα το θέμα, παρακαλώ μη διστάσετε να χρησιμοποιήσετε ένα σύνδεσμο σαν τον ακόλουθο:

<P>Το έγγραφο αυτό περιλαμβάνει χαρακτήρες που μπορεί
να έχουν προβλήματα και απαιτούν (προσωρινές) <A
TITLE="Πληροφορίες σχετικά με τις ρυθμίσεις
των browser για μεγάλα ρεπερτόρια χαρακτήρων"
HREF="../HTML/chars.html#browsersettings">
αλλαγές στις ρυθμίσεις των browsers</A>.</P>

Μπορεί να θέλετε να δοκιμάσετε κάποια πράγματα κοιτώντας στον δικό σας browser ένα έγγραφο που περιλαμβάνει ελληνικούς, κυριλλικούς και εκτεταμένους λατινικούς χαρακτήρες.

Όταν χρησιμοποιείτε κωδικούς αριθμούς, προσέξτε οτι οι χάρτες κωδικών Unicode όπως άλλωςστε και οι περισσότερες αναφορές του ISO 10646 αναφέρουν τους αριθμούς σε δεκαεξαδικό (base 16) σύστημα. Θα πρέπει να τα μετατρέψετε σε δεκαδικό (Ουσιαστικά, η υπάρχουσα προδιαγραφή της HTML επιτρέπει αναφορές χαρακτήρων που χρησιμοποιούν δεκαεξαδικό σύστημα, αλλά το χαρακτηριστικό αυτό δεν υποστηρίζεται ακόμα στην πρακτική.) Δείτε το ξεχωριστό έγγραφο Πως να βρείτε μια σημείωση &#αριθμός; ενός χαρακτήρα για περισσότερες πληροφορίες.

Η εύρεση κωδικών και η χρήση τους είναι φυσικά βαρετή και επιρρεπής σε λάθη. Για λίγους ειδικούς χαρακτήρες δεν είναι τόσο κακό, αλλά για μεγάλες ποσότητες δεδομένων με χαρακτήρες εκτός ASCII θα πρέπει να εξετάστε τη χρήση ενός καταλλήλου προγράμματος που διαβάζει τέτοια δεδομένα σε βολική γραφή και τα μετατρέπει στη γραφή που συζητάται εδώ. (Δείτε, για παράδειγμα, ένα απλό πρόγραμμα για μεταγραφή από το ISO 8859-1 στην γραφή αυτή.)

Όταν χρησιμοποιούμε αυτή τη μέθοδο, οι χαρακτήρες του ISO Latin 1 μεταχειρίζονται όπως οι άλλοι χαρακτήρες εκτός ASCII· δεν πρέπει να χρησιμοποιούνται απ'ευθείας.

Κατά κανόνα, μπορείτε να χρησιμοποιείτε περισσότερες συμβολικές αναφορές της μορφής &όνομα; αντί του &#αριθμός; για πολλούς χαρακτήρες, όπως η &alpha; αντί της &#945;. Πάντως, μέχρι τώρα υπάρχει λίγη υποστήριξη προς οντότητες χαρακτήρων εκτός απο αυτές που ορίζονται από τους χαρακτήρες ISO Latin 1.

Η ρύθμιση των πραγμάτων ωστε το έγγραφο να αποστέλλεται με Content-type: text/html;charset=utf-8 ίσως είναι το ποιό δύσκολο πράγμα να μάθει κανείς. Είναι θέμα server, οπότε μπορεί να θέλετε να συμβουλευτείτε τις πληροφορίες που παρέχονται από το τοπική υποστήριξη του Web server (webmaster). Για παράδειγμα, σε έναν από τους δημοφιλείς τύπους server, τον Apache (και επίσης στον NCSA HTTPd server) μπορείτε να χρησιμοποιήσετε την οδηγία AddType (δείτε τις οδηγίες του στοιχείου mod_mime του Apache). Μπορείτε πχ. να ονομάσετε όλα τα αρχεία που παρουσιάζονται με τον τρόπο που συστήνεται εδώ έτσι ωστε τα ονόματα να τελειώνουν με .htm8 και να προσθέστε τη γραμμή
AddType text/html;charset=utf-8 htm8
στο αρχείο με όνομα .htaccess στον κατάλογο οπου βρίσκονται αυτά τα αρχεία. (Φυσικά, μπορείτε να χρησιμοποιήσετε κάποια άλλη κατάληξη αντί για htm8.)

Μπορείτε επίσης να προσθέστε το ακόλουθο στοιχείο στο ίδιο το αρχείο HTML (μέσα στο μέρος του HEAD):
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=utf-8">
Αυτό μπορεί να χρησιμοποιηθεί αντι ή μαζί με το να κάνετε τον server να στέλνει την αντίστοιχη πληροφορία. Κατα κανόνα, ο server είναι που θα πρέπει να στέλνει τέτοιες πληροφορίες, αλλα αν πραγματικά δεν μπορείτε να βρείτε ένα τρόπο να το κάνετε αυτό, χρησιμοποιήστε το στοιχείο META που αναφέρθηκε πρίν. Αλλά πραγματικά είναι ένας μύλος (ή kludge) και μπορεί να προκαλέσει προβλήματα πχ. εξαιτίας ενός σφάλματος του Netscape.

Μπορεί να αναρωτιέστε γιατί ένα έγγραφο θα πρέπει να δημοσιευθεί με charset=utf-8 παρά το οτι περιέχει χαρακτήρες ASCII μόνο. Τεχνικά μια σειρά από χαρακτήρες ASCII μπορεί να δημοσιευθεί σαν να είναι κωδικοποιημένο σε UTF-8 (αφού η κωδικοποίηση UTF-8 αφήνει τους χαρακτήρες ASCII απείραχτους). Αλλά γιατί θα πρέπει να γίνει; Το θέμα είναι οτι πολλοί δημοφιλείς browsers συμπεριφέρονται εσφαλμένα, μεταχειρίζοντας τις αναφορές των χαρακτήρων λανθασμένα, εάν η κωδικοποίηση δοθεί σαν US-ASCII ή ISO-8859-1, για παράδειγμα. Δημοσιεύοντας UTF-8 βοηθάει εδώ.

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

Απλούστεροι τρόποι για απλούστερες ανάγκες: απλές 8-μπιτες κωδικοποιήσεις

Αν χρειάζεστε μόνο ένα περιορισμένο ρεπερτόριο χαρακτήρων, όπως τους χαρακτήρες του ASCII και κυριλλικά ή ελληνικά γράμματα, μπορείτε να χρησιμοποιήσετε τα ακόλουθα:

  1. Αποφασίστε ποιό ρεπερτόριο χαρακτήρων χρειάζεστε. Σε αυτήν την προσέγγιση αυτή, μπορεί να περιέχει το πολύ 256 χαρακτήρες. Προσέξτε οτι θα πρέπει να σταθεροποιήσετε το ρεπερτόριο: οποιοαδήποτε μεταγενέστερη προσθήκη μάλλον περιλαμβάνει μια μεγάλη αλλαγή.
  2. Βρείτε έναν κωδικό χαρακτήρων για το επιλεγμένο ρεπερτόριο και μια απλή κωδικοποίηση. Απλή κωδικοποίηση εδώ σημαίνει οτι κάθε χαρακτήρας παρουσιάζεται σαν ένα οκτάμπιτο ψηφίο. Για παράδειγμα, αν ένα ρεπερτόριο χαρακτήρων περιλαμβάνει (μαζί με τους χαρακτήρες ASCII όπως τα απλά λατινικά γράμματα a - z, στίξη κλπ.) ουσιαστικά μόνο ελληνικά γράμματα, μπορείτε να χρησιμοποιήσετε την κωδικοποίηση iso-8859-7 ή ίσως την windows-1253. Παρομοίως, για κείμενα σε ρωσσικά μπορείτε να επιλέξετε μια από τις ακόλουθες: koi8-r (χρησιμοποιείται πολύ στη Ρωσσία), windows-1251 ή iso-8859-5 (χρησιμοποιείται σπανίως).
  3. Ετοιμάστε το έγγραφο έτσι ωστε να περιλαμβάνει χαρακτήρες από την επιλεγμένη κωδικοποίηση. Ανάλογα από τους editors ή άλλα προγράμματα που χρησιμοποιείτε, υπάρχουν πολλοί τρόποι με τους οποίους να μπορεί να γίνει αυτό. Μια πιθανότητα είναι να γράψτε το κείμενο σύμφωνα με μια μεταγραφή στο λατινικό αλφάβητο και μετά να χρησιμοποιήσετε ένα πρόγραμμα μετατροπής (δείτε το δικό μου πρόγραμμα από-μεταγραφής ελληνικών για ένα παράδειγμα), και τελικά συμπεριλάβετε το αποτέλεσμα σε αρχείο HTML με κανονικό μαρκάρισμα.
  4. Σιγουρευτείτε οτι το έγγραφο, όταν εισαχθεί στον Web, θα σταλεί από τον server με κατάλληλες πληροφορίες για το encoding. Δείτε τις σημειώσεις για τη ρύθμιση του server παραπάνω.

Η προσέγγιση αυτή, στις διάφορες παραλλαγές της, είναι ευρέως εφαρμοσμένη. Συχνά, πάντως, το τελευταίο μέρος δεν γίνεται ή γίνεται λανθασμένα. Σκεφτείτε τι συμβαίνει, για παράδειγμα, αν ένα έγγραφο κωδικοποιημένο να χρησιμοποιεί koi8-r αποστέλλεται χωρίς να λέει την κωδικοποίηση. Στην Ρωσσία, οι περισσότεροι browsers είναι ρυθμισμένοι να εφαρμόζουν το koi8-r ερήμην, οπότε παρουσιάζεται σωστά. Αλλού, οι browsers τυπικά θα το δείξουν πολύ παράξενα, αφού συνήθως χρησιμοποιούν μια άλλη κωδικοποίηση (όπως την iso-8859-1 ή την Windows Latin 1). Δεν θα φανούν κυριλλικά εκεί, ασχέτως των πόσων κυριλλικών fonts είναι διαθέσιμα στο σύστημα. Ο χρήστης μπορεί να προσπαθήσει να φτιάξει τα πράγματα αλλάζοντας την κωδικοποίηση (πχ. στον Netscape 4.0, μέσω του υπομενού Encoding του μενού View). Πρέπει να γίνουν πολλές δοκιμές - προσέξτε οτι υπάρχουν πολλές κωδικοποιήσεις για δοκιμή ακόμα και αν υποθέσουμε οτι το κείμενο είναι στα ρωσσικά.

Η μέθοδος αυτή δουλεύει σχετικά καλά για σελίδες που περιέχουν κείμενο σε ρωσσικά και αγγλικά για παράδειγμα. Αν αν θέλετε να συμπεριλάβετε γαλλικό κείμενο ταυτόχρονα, η μέθοδος αυτή δεν είναι εφαρμόσιμη: το γαλλικό κείμενο συμπεριλαμβάνει και τονισμένους χαρακτήρες οπότε δεν μπορείτε να βρείτε μια απλή κωδικοποίηση που να σας επιτρέπει να τους χρησιμοποιήσετε μαζί με κυριλλικά. (Λογικά, μπορείτε να χρησιμοποιείτε τονισμένους λατινικούς χαρακτήρες χρησιμοποιώντας τις λεγόμενες οντότητες χαρακτήρων, όπως &eacute; για το γράμμα e με τονισμό, αλλά δυστυχώς εξαιτίας των σφαλμάτων των browsers είτε εσείς είτε οι αναγνώστες σας θα έμπαιναν σε προβλήματα.)

Παράδειγμα: Παρουσιάζοντας τουρκικά γραμματα με δυό τρόπους

Ως απλό παράδειγμα, σκεφτήτε το ακόλουθο πρόβλημα: χρειάζεται να συμπεριλάβουμε σε ένα έγγραφο HTML κείμενο που περιέχει τουρκικά ονόματα με τους χαρακτήρες "i" χωρίς τελεία, "g" με μισοφεγγαράκι και "S" με ένα μικρό "s" από κάτω του. (Αυτό δεν είναι ακριβής περιγραφή αφού δεν χρησιμοποιεί τα στάνταρ ονόματα για τους χαρακτήρες, αλλά αρκετά ακριβής.)

Χρησιμοποιώντας την απλούστερη προσέγγιση, θα μπορούσε κανείς να εξετάσει την οικογένεια κωδικοποιήσεων ISO 8859. Ένα μέλος της οικογένειας αυτής, η ISO 8859-9, έχει σχεδιαστεί για την τουρκική γλώσσα. Οι χαρακτήρες πρέπει να έχουν κωδικούς θέσεων FD, F0, DE, FE δεκαεξαδικό στην ISO 8859-9. Μπορούμε λοιπόν να βάλουμε αυτούς τους χαρακτήρες στο έγγραφο HTML. Η μέθοδος εισαγωγής των εξαρτάται από τον editor που χρησιμοποιούμε. Τεχνικώς, μπορείτε να χρησιμοποιήσετε οποιαδήποτε μέθοδο δακτυλογράφησης των χαρακτήρων "ύ", "π", "ή", "ώ" στον πηγαίο κώδικα HTML και μετά απλώς να γράψετε (σε επικεφαλίδες του HTTP) οτι τα δεδομένα είναι όπως στον κωδικό ISO 8859-9. (Ναι, είναι κάπως δυσνόητο.)

Για την πιο γενική προσέγγιση, θα χρειαζόσασταν τις κωδικές θέσεις του Unicode. (Αν γνωρίζετε την κωδική θέση ενός χαρακτήρα σε κάποια κωδικοποίηση ISO 8859, μπορείτε να χρησιμοποιήσετε τον συνδυασμένο πίνακα μου για χαρτογράφηση από τις ISO 8859 σε Unicode, για παράδειγμα.) Για την σημειογραφία &#αριθμός; στην HTML, μπορείτε μετά να μετατρέψετε την κωδική θέση από δεκαεξαδική σε δεκαδική σημειογραφία.

Το απλό μου δοκιμαστικό έγγραφο σε κωδικοποίηση ISO 8859-9 δείχνει να χειρίζεται σωστά από τους Netscape 3 και 4 σε Windows 95, αλλά ο IE 4 δείχνει τους χαρακτήρες ωσάν η κωδικοποίηση να ήταν ISO 8859-1, μάλλον επειδή δεν γνωρίζει την ISO 8859-9 και χρησιμοποιεί την ερήμην κωδικοποίηση στη θέση της· στα Win NT, δουλεύει και στον IE 4.

Το απλό μου δοκιμαστικό έγγραφο που χρησιμοποιεί σημειογραφία &#αριθμός; δείχνει να χειρίζεται σωστά από τους Netscape 4 και IE 4 σε Windows 95. Ο Netscape 3 δεν μπορεί να το χειριστεί, αφού δεν υποστηρίζει &#αριθμός; για αριθμός > 256.

Περαιτέρω ανάγνωση

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

Το Dan's Web Tips περιλαμβάνει μια πολύ ευανάγνωστη συζήτηση πάνω σε Χαρακτήρες και Fonts.

Το site Alis Babel περιλαμβάνει δοκιμασμένες συμβουλές σε διάφορα θέματα της "διεθνοποίησης" στον Web, συμπεριλαμβάνοντας προβλήματα σε κωδικούς χαρακτήρων. Προσέξτε ειδικά το κείμενο <FONT FACE> considered harmful που εξηγεί γιατί η συχνά προτεινόμενη μέθοδος επέκτασης του ρεπερτορίου χαρακτήρων μέσω του μαρκαρίσματος FONT FACE είναι θεμελιωδώς λανθασμένη. (Ο Αλαν Τζ. Φλάβελλ το εξηγεί με παραδείγματα στο Using FONT FACE to extend repertoire?)

Το HTML Unleashed: Internationalizing HTML από τον Dmitry Kirsanov εξηγεί πολλά από τα βασικά θέματα μάλλον καλύτερα από εμένα. Επίσης συζητά θέματα όπως writing direction.

Στις Vancouver Webpages, η σελίδα Using Multiple Languages in HTML περιλαμβάνει συνδέσμους για δοκιμή σελίδων που έχουν κείμενο σε διαφορετικές γλώσσες και διαφορετικές κωδικοποιήσεις χαρακτήρων.

Δείτε επίσης: Latin 1 and Unicode characters in ampersand entities από τον H. Churchyard.

Ρυθμίσεις των browsers

Για να μπορέσουμε να δούμε σωστά ένα έγγραφο που χρησιμοποιεί ένα μεγάλο ρεπερτόριο χαρακτήρων, ειδικές ρυθμίσεις μπορεί να απαιτηθούν, ειδικά για να κάνουμε τον browser να χρησιμοποιήσει ένα κατάλληλο font. (Δεν πρέπει να είναι απαραίτητο για τον χρήστη να μπει σε τέτοια θέματα, αλλά τους browsers που υπάρχουν, μπορεί να είναι απαραίτητο για την ώρα.)

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

Αν ο browser δεν χειρίζεται τα πράγματα σωστά χωρίς ρυθμίσεις, μπορεί να πρέπει να αλλάξετε την κωδικοποίηση "χειροκίνητα" στον browser. Προσέξτε οτι μπορεί να πρέπει να αλλάξετε την κωδικοποίηση στην προηγούμενη ρύθμιση για άλλα έγγραφα, οπότε σημειώστε την ρύθμιση πριν την αλλάξετε. Δεν είναι απαραίτητο να γνωρίζετε τί είδους παρουσίαση είναι η UTF-8, αλλά μάλλον θα πρέπει να ξέρετε οτι μερικοί browsers αναφέρονται σε αυτήν ως "Unicode". Για παράδειγμα, στο Netscape 4.0, μπορείτε να χρησιμοποιήσετε το μενού View, να επιλέξετε το Encoding, και τέλος το Unicode (UTF-8).

Δεύτερον, και αυτό μπορεί να είναι πιό δύσκολο, μπορεί να χρειάζετε να πείτε στον browser να χρησιμοποιήσει ένα κατάλληλο font; στην πρακτική, χρειάζεται να χρησιμοποιήσετε ένα font αρκετά εκτεταμένο για το "Unicode encoding". (Οι κατασκευαστές των browsers συχνά μπερδεύουν έννοιες όπως ο κωδικός χαρακτήρων, η κωδικοποίηση χαρακτήρων, το font και η γλώσσα σε μεγάλο βαθμό.) Συγκεκριμένα,

Αν ο υπολογιστής δεν έχει ένα κατάλληλο font, μπορείτε να συμβουλευθείτε το μεγάλο FAQ ευρέσεως Fonts για Διεθνοποίηση.

Υπήρχε ένα δωρεάν font ονόματι Cyberbit, που ήταν διαθέσιμο από την BitStream για Windows 95 και Windows NT. Yποστήριζε ένα μεγάλο ρεπερτόριο χαρακτήρων (δες το έγγραφο μου UCS (ISO 10646, Unicode) μπλοκ χαρακτήρων). Η υπηρεσία αυτή έχει διακοπεί· σύμφωνα με πληροφορίες από την BitStream, το font δεν είναι διαθέσιμο σαν προϊόν λιανικής· "το Cyberbit είναι πλέον διαθέσιμο μέσω του τμήματος πωλήσεων ISV/OEM που πουλά λογισμικό σε κατασκευαστές προγραμμάτων ή υλικού. Αμοιβή πρόσβασης και δικαιώματα εκμετάλλευσης θα εφαρμοστούν στην πώληση του προϊόντος αυτού."

Για να ελέγξετε ποιοί χαρακτήρες Unicode υποστηρίζονται από ένα font που έχει εγκατασταθεί στον browser σας, μπορείτε να χρησιμοποιήσετε μια online υπηρεσία μου ή υλικό για τεστάρισμα Unicode από τον Αλαν Φλάβελ.

Επίλογος: πραγματικό Unicode

Κάποιοι έχουν σχολιάσει δικαίως οτι ο ο "καθολικός" τρόπος που συζητάται εδώ είναι αναποτελεσματικός και αδέξιος ειδικά για κείμενα οπου ένα πλούσιο ρεπερτόριο χαρακτήρων απαιτείται. Συνεπώς θα συζητήσω συνοπτικά τις "αληθινές" κωδικοποιήσεις Unicode. Παρακαλώ αναφερθήτε στον τομέα επι του Unicode στο μάθημα στους κωδικούς χαρακτήρων για περισσότερες πληροφορίες.

Η ποιό φυσική επιλογή για παρουσίαση εγγράφων με το Unicode θα ήταν η χρήση της "ιθαγενούς" κωδικοποιήσεως για Unicode, UCS-2. Φαίνεται πάνως οτι ο IE 4 δεν το υποστηρίζει, αν και ο Netscape 4 το υποστηρίζει. Εφόσον και οι δυό υποστηρίζουν τα UTF-8 και UTF-7, θα ήταν πιο πρακτικές επιλογές. Και εφόσον το UTF-7 σχεδιάστηκε για χρήση σε καταστάσεις όπως η αποστολή δεδομένων σε κάτι που δεν είναι"καθαρό 8-μπιτο", η κανονική μέθοδος για την ώρα είναι η UTF-8. Προσέξτε οτι η Πολιτική του IETF για Σετ Χακτήρων και Γλωσσών (RFC 2277) λέει οτι τα προτόκολα πρέπει να μπορούν να χρησιμοποιούν το UTF-8 ενώ η υποστήριξη σε άλλες κωδικοποιήσεις είναι προαιρετική.

Η κάλυψη του UTF-8 από τους browsers είναι περίπου ίδια με την μέθοδο που χρησιμοποιεί αριθμητικές αναφορές χαρακτήρων. Αλλά ενώ η μεταγενέστερη μπορεί να χρησιμοποιηθεί με οποιονδήποτε editor (μόνο χαρακτήρες Ascii πρέπει να γραφτούν) η κωδικοποίηση UTF-7 απαιτεί έναν editor που να μπορεί να γράψει δεδομένα σε κωδικοποίηση UTF-8 ή ενα εργαλείο μετατροπής από μια σημειογραφία σε UTF-8.

Υπάρχει μια δοκιμαστική σελίδα που περιλαμβάνει κείμενα σε διάφορες γλώσσες χρησιμοποιώντας το UTF-8. Επεξηγηματική μπορεί να είναι η εμφάνιση της στις εκδόσεις 4 ή νεότερες των Netscape or IE χρησιμοποιώντας διάφορες ρυθμίσεις για fonts.


ημερομηνία τελευταίας ενημέρωσης: 2002-01-01.

Γιούκκα Κόρπελα.

Μετάφραση από τον Πάνο Στόκα <pstok@skiathos.physics.auth.gr>

English original: Using national and special characters in HTML.