Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Guide des environnements linguistiques internationaux Oracle Solaris 11 Information Library (Français) |
2. Prise en charge des environnements linguistiques Unicode et UTF-8
3. Utilisation des langues et des environnements linguistiques
4. Préférences du clavier et méthodes d'entrée
Prise en charge des noms de domaine internationalisés
Interopérabilité avec d'autres plates-formes
Considérations relatives au serveur NFS
Considérations de système de fichiers
Archives contenant les noms de fichiers non-ASCII
Création d'un environnement linguistique personnalisé
Création d'un environnement linguistique basé sur un environnement linguistique du système
Création d'un environnement linguistique personnalisé
Création d'un environnement linguistique de zéro
La prise en charge de la conversion des jeux de codes, ou conversion des jeux de caractères (charset), est un élément essentiel du système d'exploitation, car la plupart des applications reposent sur cette capacité pour fonctionner correctement.
La version actuelle d'Oracle Solaris inclut également l'International Components for Unicode (ICU), une bibliothèque et des outils de prise en charge de l'Unicode et de l'internationalisation des logiciels largement utilisés.
Oracle Solaris 11 comprend divers outils et bibliothèques de conversion de jeux de codes. L'utilitaire de conversion de jeux de codes principal, iconv, est basé sur la bibliothèque iconv dans libc.
L'utilitaire de ligne de commande iconv(1) convertit des caractères ou des séquences de caractères d'un jeu de codes à un autre. Il prend en charge une grande variété de jeux de codes. Comme les noms de jeux de codes diffèrent souvent entre les plates-formes, de nombreux jeux de codes sont pris en charge sous plusieurs noms grâce à un mécanisme d'alias dans iconv. Exécutez la commande suivante pour obtenir la liste de jeux de codes actuellement disponibles dans le système :
$ /usr/bin/iconv -l
Comme de nombreux packages ont des modules iconv, vous pouvez étendre la liste par défaut en installant des packages supplémentaires. L'installation par défaut inclut le package system/library/iconv/utf-8, qui couvre le jeu de base de modules iconv pour les conversions entre UTF-8 et autres jeux de codes Unicode, et des jeux de codes sélectionnés. D'autres packages sont disponibles dans la catégorie System/Internationalization du Gestionnaire de packages ou en utilisant le modèle de nom system/library/iconv/* pour l'installation avec la commande pkg(1).
L'option iconv —f définit le jeu de codes source et l'option -t définit le jeu de codes cible. Vous pouvez utiliser iconv pour convertir un fichier, ou une saisie standard, en sortie standard, comme suit :
$ /usr/bin/iconv -f eucJP -t UTF-8 file.txt
Cet exemple convertit le nom de fichier file.txt du jeu de codes eucJP (Extended UNIX Code Packed Format for Japanese) et écrit le résultat en UTF-8 dans la sortie standard.
Dans Oracle Solaris 11, iconv a été étendu pour inclure des indicateurs qui modifient le comportement de la conversion dans ces situations spéciales :
Caractère non admis : le caractère saisi n'est pas valide dans le jeu de codes source déclaré
Caractère non identique : le jeu de codes cible ne possède pas de caractère correspondant
Vous pouvez aussi utiliser sur la ligne de commande des indicateurs tels que //ILLEGAL_DISCARD, //NON_IDENTICAL_DISCARD , //IGNORE et //TRANSLIT. Pour plus d'informations, reportez-vous à la page de manuel iconv_open(3C).
Remarque - Certains modules iconv d'Oracle Solaris peuvent n'implémenter qu'un sous-ensemble des indicateurs décrits dans la page de manuel iconv_open(3C).
Pour plus d'informations sur iconv, reportez-vous aux pages de manuel iconv(1), iconv(3C), iconv_open(3C) et aux pages de manuels connexes.
Oracle Solaris 11 ajoute les bibliothèques C/C++ International Components for Unicode (ICU) aux interfaces disponibles. ICU est un jeu de bibliothèques mature et largement utilisé qui fournit la prise en charge de l'Unicode et de l'internationalisation pour les applications logicielles. ICU est portable et donnent aux applications les mêmes résultats sur toutes les plates-formes et entre les logiciels C/C++ et Java.
Exemples de services fournis par ICU :
Conversion de page de code : conversion des données texte vers ou depuis l'Unicode et quasi tous les jeux de caractères ou codages.
Interclassement : comparaison des chaînes en fonction des conventions et des normes d'un langage, d'une région ou d'un pays particulier.
Formatage : formatage des numéros, des dates, des heures et des montants monétaires en fonction de l'environnement linguistique choisi.
Calculs de temps : plusieurs types de calendriers et un ensemble complet d'API de calcul de fuseau horaire sont fournis.
Prise en charge de l'Unicode : ICU suit de près la norme Unicode, fournit un accès facile aux nombreuses propriétés de caractères Unicode, à la normalisation de l'Unicode, au pli de casse et à d'autres opérations fondamentales comme spécifiées par la norme Unicode.
Expression régulière : les expressions régulières ICU prennent complètement en charge l'Unicode tout en fournissant des performances compétitives.
Texte bidirectionnel (Bidi) : prise en charge de la gestion du texte contenant un mélange de données de gauche à droite et de droite à gauche.
Limites de texte : repérage des positions des mots, des phrases et des paragraphes dans une gamme de texte ou identification des emplacements qui seraient adéquats pour le retour à ligne lors de l'affichage du texte.
ICU sur Oracle Solaris 11 se divise en deux packages : library/icu contient juste les bibliothèques, alors que developer/icu offre des fichiers d'en-tête et plusieurs utilitaires comme uconv(1).
Pour plus d'informations, reportez-vous au site Web du projet à l'adresse http://site.icu-project.org. Les pages de manuel libicui18n(3LIB), libicuio(3LIB), libicudata (3LIB), libicule(3LIB), libiculx(3LIB), libicutu (3LIB) et libicuuc(3LIB)expliquent comment utiliser les bibliothèques dans Oracle Solaris.
En plus de iconv(1), la commande uconv(1), qui fait partie de l'ensemble d'outils International Components for Unicode (ICU), peut également servir à convertir un texte d'un codage à un autre. uconv prend en charge 229 encodages ainsi que 1 000 alias.
L'outil fait partie du package developer/icu qui n'est pas installé par défaut. Pour l'installer, saisissez la commande suivante :
# pkg install developer/icu
Pour convertir un texte au format cp-1252 en UTF-8 , tapez ce qui suit :
$ uconv -f cp1252 -t UTF-8 -o file_in_utf8.txt file_in_cp1252_encoding.txt
Une autre fonctionnalité de uconv est la translittération : conversion des lettres d'un script vers un autre sans traduction des mots sous-jacents. L'exemple suivant illustre la conversion d'un extrait de texte en grec en caractères latins :
$ echo “???????”| uconv -x Greek-Latin -f utf-8 -t utf-8 Solaris
Pour plus d'informations sur les fonctionnalités de cet outil, reportez-vous à la page de manuel uconv(1).
L'utilitaire de contrôle de codage de fichiers fsexam permet de convertir au format UTF-8 le codage de caractères d'un nom de fichier ou le contenu d'un fichier en texte simple. L'utilitaire fsexam propose les nouvelles fonctionnalités suivantes :
Personnalisation de la liste des codages
Détection automatique du codage
Prise en charge des simulations, des fichiers journaux, de la conversion par lots, du filtrage de fichiers, des fichiers symboliques, de la ligne de commande et de types de fichiers spéciaux comme des fichiers compressés
Pour ajouter fsexam à votre système, installez le package storage/fsexam. Pour de plus amples informations, reportez-vous aux pages de manuel fsexam (1) et fsexam(4).
Oracle Solaris inclut auto_ef(1), un utilitaire de ligne de commande permettant d'identifier le codage d'un fichier. auto_ef détermine le codage avec la conversion du code iconv en déterminant si une certaine conversion de code a réussi avec le fichier. Il effectue également une analyse de fréquence sur les séquences de caractères qui apparaissent dans le fichier. Par exemple,
$ auto_ef test_file eucJP
Avec l'option -a, il affiche tous les codages possibles pour le fichier :
$ auto_ef -a test_file eucJP 0.89 zh_CN.euc 0.40 ko_KR.euc 0.01
Pour ajouter auto_ef à votre système, installez le package text/auto_ef. Pour plus d'informations, reportez-vous à la page de manuel auto_ef(1).