IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Qu'implique coder en UTF-8? Comment préparer une application qui le soutient bien?


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 608
    Par défaut Qu'implique coder en UTF-8? Comment préparer une application qui le soutient bien?
    Pour écrire une application accessible à toute la planète, je souhaite que toutes les langues soient potentiellement prises en compte. Cela signifie que sur mes sites web, applications clientes, serveur et base de données, UTF-8 doit être pris en charge.

    Mes premiers essais n'ont pas été très concluants, et je ne peux pas m'empêcher de mettre cette parodie en illustration:



    Comment "bien préparer" un site web, un serveur EJB, une base de données, etc. à bien prendre en compte UTF-8? Quelles sont vos recommandations.
    UTF-16 existe aussi. Pourquoi? Devrais-je en passer par lui aussi? Mais est-il vraiment soutenu?

    Je vous remercie d'avance pour vos avis.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    alors, de mémoire, la différence entre utf-8 et utf-16, c'est que l'utf-16 utilise d'office 2 byte par "bloc" du caractère unicode, l'avantage est que, pour certains caractère situés relativement haut dans les tables unicode, travailler en 16 bits (utf-16) permet de coder la pluspart des lettres courantes sur 1 bloc de 16bits, alors que, pour ces meme langues, en utf-8, il faudrait 3 blocs de 8bits. Si ma mémoir est bonne, le chinois et le japonais seraient concernés. C'est donc surtout un problème de taille

    L'ennui, c'est que pour la pluspart des autres langues occidentales, l'utf-16 signifie plus d'occupation mémoire que l'utf-8, nombre de caractères latins tenant dans le premier groupe de caractères. Pour d'autres langues, c'est kifkif, deux bloc 8bits ou un bloc 16bits Tout dépend de la chance que la langue a eu au tirage sur le tables unicode :p

    Comment bien préparer? Alors pour la db, s'assurer qu'elle gère tout le jeu de caractères unicode. Ca peut etre de l'utf-8 en interne ou autre chose, tant que çà gère le même jeu, laisse la db se dépétrer avec les conversion, tant que t'as la garantie que les conversions sont possible . De toutes facons, en java, les strings son stockées en mémoire dans un format propre qui gère tout le jeu unicode. Et comme c'est au connecteur sql de te filer les string java.... laisse lui faire son boulot :p t'as plus à t'occuper de çà

    Pour les EJB -> mémoire interne -> rien à faire

    Pour les pages web -> je dirais utf-8 en content encoding, utf-8 en accept-charset sur les forms, et forcer l'utf-8 pour le décodage des url dans ton serveur.

    Si Martine a encore des questions...

Discussions similaires

  1. Réponses: 13
    Dernier message: 01/04/2008, 09h43
  2. Comment lancer une application qui a été développée sous Unix avec le navigateur IE
    Par diamonds dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 26/09/2006, 14h43
  3. Réponses: 3
    Dernier message: 21/01/2004, 08h47
  4. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13
  5. Réponses: 1
    Dernier message: 31/10/2002, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo