Aller au contenu

envoi mails en vietnamien

  • Ce sujet est vide.
Vous lisez 32 fils de discussion
  • Auteur
    Messages
    • #2942

      bonsoir,
      quand j’envoie des mails avec des symboles vietnamiens (souvent un copy/paste), qui a la reception se sont transformes en suite de signes de ponctuations. Pourtant il s’agit d’un PC au vietnam donc j’imagine que toutes les polices de caractere sont presentes..
      Est ce du au logiciel de messagerie? (plug-in special a installer?)
      a+

    • #50789

      Est-ce que ton texte vietnamien est composé en Unicode?
      Quelle police de caractère utilises-tu? (le nom complet)

    • #50790

      bien en fait j’en sais rien je reprends des textes sur le web et que j’en voie par la suite..

    • #50794

      Cela me fait penser à une récente critique sur le fait que les accents n’avaient pas été utilisés dans un courriel demandant des renseignements, envoyé à une adresse gouvernementale.
      La critique argumentait l’impolitesse de ce style de courriel.
      Critique infondée venant d’une personne qui n’avait jamais envoyé de courriel à un organisme vietnamien, car en final le courriel de réponse ne contenait aucun accent lui aussi.

    • #50795
      claudio;41302 wrote:
      bien en fait j’en sais rien je reprends des textes sur le web et que j’en voie par la suite..

      Dans ce cas, il y a de forte chances qu’ils soient en Unicode. Si le PC qui reçoit le message est sous Windows XP, il a de base les polices Unicodes principales (Times, Arial, etc…). S’il est sous Windows 98, il faut les trouver sur le web et les installer.

      Peut-être faudrait-il commencer par vérifier que le navigateur du PC qui reçoit est bien en mode Unicode. Pour sélectionner l’Unicode, dans Internet Explorer, il faut aller dans Affichage > Codage > Unicode UTF8. Dans Firefox, il faut aller dans Affichage > Encodage des caractères > Unicode UTF8.

    • #50796

      ok, je me rappelle lorsque j’ai envoye le message j’ai eu un message du programme de messagerie (thunderbird) qui m’avertissait de l’utilisation du code (uft8) pouvait ne pas etre reconnu a la reception.MAis comme le message est pour une personne vivant au vietnam..Peut etre que le PC du cyber cafe etait en effet sous win98 (9 ans de retard..:-).Peut etre que le logiciel yahoo mail utilisee pour lire le message ne comprends pas les caracteres utf8..Bon ca ne va pas etre simple d’expliquer ca a ma copine :-(
      merci des renseignements khiflo
      a+

    • #50807

      Beaucoup de site européens comme Forum Vietnam utilisent le faux Unicode : Ils utilisent les anciens caractères européen + un secance de numero pour les caractères nouveaux. Dans Firefox
      Affichage > Encodage des caractères > Occidental (ISO 8859)
      L’astuce étant que dans l’éditeur, quand on recopie un texte vietnamien Unicode copié sur un site quelconque il y a un système qui transforme le vrai en faux. Alors pourquoi se gêner puisque le faux, bien qu’un peu lourd a un fonctionnement plus sûr ? Même si on n’a 10 ans de retard ?
      Yahoo fait pareil mais dans certain cas le mail reste en vrai Unicode alors que la page est en Occidental (ISO 8859)
      Et même en français, les accentués sont transformés en une suite de 3 lettres illisibles.
      Si tu forces le navigateur a passer en mode Unicode comme dit khiflo : Affichage > Codage > Unicode UTF8
      alors c’est le cadre du message qui est écrit sans lettres accentué (c’est mois grave)
      Je crois qu’il y a une opion dans yahoo pour lui demander de générer des pages Unicode mais je ne la retrouve pas.

    • #50810
      DédéHeo;41319 wrote:
      Je crois qu’il y a une opion dans yahoo pour lui demander de générer des pages Unicode mais je ne la retrouve pas.

      Bonjour DD !

      Je ne sais pas si le fait de créer un compte dans « Yahoo Vietnam » pourrait résoudre ce problème ?:heat:

      https://login.yahoo.com/config/login?.intl=vn&.partner=&.last=&.src=www&.pd=c=&pkg=&stepid=i&&.done=http%3a//vn.yahoo.com/

      Je ne l’ai pas encore essayé, cependant si quelqu’un l’as fait j’aimerais bien savoir :bigsmile:

      NVTL

    • #50845

      @NoiVongTayLon 41322 wrote:

      Bonjour DD !

      Je ne sais pas si le fait de créer un compte dans « Yahoo Vietnam » pourrait résoudre ce problème ?:heat:

      https://login.yahoo.com/config/login?.intl=vn&.partner=&.last=&.src=www&.pd=c=&pkg=&stepid=i&&.done=http%3a//vn.yahoo.com/

      Normalement oui car yahoo vietnam est en Unicode. Curieusement, du Vietnam, je n’arrivais pas a créer un compte Yahoo.vn ! Je me demande pourquoi yahoo fr a viré l’option Unicode. Certaines entreprises utilisaient des firewal qui ne fonctionnaient pas en unicode. Par contre, le pseudo-Unicode composé du signe # suivit du numéro de la lettre 2123 passait à travers sans problème.

    • #50850
      DédéHeo;41319 wrote:
      Beaucoup de site européens comme Forum Vietnam utilisent le faux Unicode : Ils utilisent les anciens caractères européen + un secance de numero pour les caractères nouveaux. Dans Firefox
      Affichage > Encodage des caractères > Occidental (ISO 8859)
      L’astuce étant que dans l’éditeur, quand on recopie un texte vietnamien Unicode copié sur un site quelconque il y a un système qui transforme le vrai en faux.

      Ah oui! J’avais pas remarqué que ma page forumvietnam etait dans ce format et non l’Unicode. C’est la première fois que j’entend parler de ce faux unicode.

      Mais alors quand on compose un mail en Unicode (c’est à dire avec le réglage « Unicode » dans le Uni/Viet/VPS-Key) on écrit en vrai ou en faux Unicode?

      Merci pour l’info, je vais voir ce que je trouve pour en savoir plus. Si jamais tu connais un site qui explique ça très bien (du genre, le faux unicode pour les nuls), fais nous-en profiter! 🙂

    • #50871

      RA©actions d£#8217; un spectateur
      A© c’est “é” en UTF8 ;
      L’autre c’est “nouveau apostrophe arrondi” en code passe partout – pseudo unicode inséré par ton traitement de texte. Notez qu’il y a cette nouvelle graphie de l’apostrophe qui pour l’informaticien n’est plus latin standard ! c’est le caractère 8217 que Word substitue automatiquement
      Voici le guillemet 1 et le nouveau apostrophe: . et bien sûr, si votre navigateur n’est pas a jour, il ne peut pas afficher cette apostrophe.

      On voit qu’avec cette méthode chaque lettre accentué non latine standard est composé avec un code
      & # +son numero ; soit 7 octets alors que le vrai UTF8 n’en demande que 3
      (j’ai remplacé le & par £ pour que le truc ne le transforme pas)
      L’astuce est que le programmeur qui a fait le petit programme pour copier-coller à mis un dispositif qui transforme le vrai en faux quand il rencontre une lettre non occidentale

    • #50873
      Nem Chua
      Participant

        Le seul faux unicode que je connaisse est celui de Windows, qui n’est pas standard sur quelques caractères relativement fréquents, dont le « é », ce qui force les autres à transcoder.

        À part ca, ISO8859-1, le vieux standard du web (et celui de cette page, n’essayez pas de copier-coller), et ses frères, dont ISO8859-15 qui porte l’essentiel des caractères vietnamiens, sont officiellement partiellement compatibles avec utf-8, mais ne sont pas faux pour autant.

        Pour copier un texte dans un mail et que le récipiendaire le voie en utf-8, il faut que le mail soit envoyé en utf-8. Dans Thunderbird, ca se fait dans Edit -> Preferences, puis dans la fenêtre des préférences, section display (« affichage »?), onglet Formatting (« format »?), en bas Fonts and Encoding (« polices et encodage »?), cliquer Fonts (« polices »?), et choisir unicode (UTF-8) pour les courriers entrant et sortant, et « appliquer l’encodage par défaut aux réponses », ou équivalent, qui te permet de répondre en viet unicode à un mail écrit dans un autre encodage.

        Après des années à batailler avec des encodages multiples et variés (qui ne survivent que dans l’administration vietnamienne et les logiciels de compta), le gouvernement vietnamien a déclaré unicode/utf-8 le standard informatique vietnamien.

        Avis aux amateurs, unicode/utf-8 est maintenant par défaut dans les distributions linux les plus avancées, qui sont libres et gratuites et pas affectées par les virus, et gèrent sans souci les fichiers MS Office courants.

        Essayez Ubuntu, le live CD démarre la machine sans rien toucher sur le disque, idéal pour se faire une idée, (et, pour Abgech, essayez SuSE)

      • #50926

        Mouaip! c’est bien compliqué tout ça. :russian:
        J’ai surtout l’impression que le code Unicode qui est censé tout unifié n’est pas vraiment respecté! sinon quqnd on force l’affichage unicode UTF-8, les symboles vietnamiens devraient apparaitre correctement, puisque le code ISO8859-15 en fait partie…:scratch:

      • #50950
        Nem Chua
        Participant

          Mais le numéro de chaque caractère est différent, donc il y a transcodage. (En général, ca marche, les OS modernes sont très bien armés).

          Par contre, il suffit que le texte soit dans un encodage à la c… comme VNI, TCVN (le pire, et le standard au Vietnam), VISCII ou va savoir, et il te faudra une police de caractères spéciale: VNI_arial, .vnarial,…

        • #50980
          mike
          Modérateur
            claudio;41300 wrote:
            bonsoir,
            quand j’envoie des mails avec des symboles vietnamiens (souvent un copy/paste), qui a la reception se sont transformes en suite de signes de ponctuations.

            Tu a envoyé ton mail à partir de quelle messagerie ? c ‘est Yahoo,..?
            car certaines ne gèrent pas les caractères vietnamiens…

            claudio;41300 wrote:
            Pourtant il s’agit d’un PC au vietnam donc j’imagine que toutes les polices de caractere sont presentes..

            Si ton message n’est pas géré correctement par ta messagerie au départ, celui ci arrivera toujours à sa destinataire avec des symboles…

          • #50988

            Nem Chua tu embrouilles tout le monde :

            ISO8859-15 qui porte l’essentiel des caractères vietnamiens

            J’ai jamais vu je sais pas ce que c’est ; et j’aime autant ne pas le savoir :bigsmile:
            En Europe, il ne reste que celui là :
            ISO8859-1, le vieux standard du web « occidental de l’ouest » Tay Tay, celui de cette page FV
            Il ne contient que les lettre latine accentuées simples mais il y a une astuce : « le faux unicode »

            Après des années à batailler avec des encodages multiples et variés (qui ne survivent que dans l’administration vietnamienne et les logiciels de compta), le gouvernement vietnamien a déclaré unicode/utf-8 le standard informatique vietnamien.

            Ca c’est vrai. Le UTF8 étant le standard qui permet d’encoder les caractères Unicodes de manière simple et efficace. 1 octet pour les lettres latines anglaises ( pas d’accent) et 2 ou 3 octet pour les lettres chinoises et accentuées. Donc il est incompatible avec le ISO8859-1 l’occidental Tay Tay qui n’utilise qu’1 octet, c’est a dire moins de 250 lettres.

            VNI, TCVN (standard du Vietnam), VISCII ou va savoir, et il te faudra une police de caractères spéciale

            Les gens qui utilisent ces standards d’avant 2000 sont des crétins en phase terminale. L’année dernière, j’ai reçu une pub spam local vina en TCVN. Je me rappel plus, je crois pour des médicaments; il aurait fallut lui les faire bouffer ses médoc de contrefaçon pour l’achever.

            L’histoire de ce que j’appelle « faux unicode » :

            A partir de 2002, les programmeurs ont été sous la pression pour adapter leurs logiciels souvent incompatibles avec UTF8. Beaucoup n’y comprenaient rien.

            Quelqu’un a eu cette idée fumante pour contourner le problème :
            Les navigateurs internet acceptent qu’on appelle les lettres par leur numéro en toute lettre grâce au code HTML suivant : & # le numéro en toute lettre fini par point-virgule
            Or quand le navigateur est réglé en ISO8859-1 et qu’il lit un numéro (en toutes lettres) >256, il comprend :
            « La table ouest-Latin se termine à 256; ca ce n’est donc pas du latin-tay-tay !« 
            alors il va chercher dans sa table Unicode de 257 à 60 000
            Ainsi, plus besoin d’adapter le logiciel
            Donc les programmeurs ont rajouté des petits filtres de copié-collé qui transforment Unicode (qu’il soit UTF8 venant d’internet ou interne à l’ordinateur) en pseudo code HTML

            Cette solution marche à 95% :kimouss: :heat:

            Donc cette solution réactionnaire merde dans 5% des cas avec 2 types d’erreur :
            1) de l’unicode utf8 qui n’est pas passé par le filtre
            Ca arrive souvent avec yahoo.fr

            2) Le code HTML n’était pas autorisé et donc neutralisé
            Exemple les Tag de forum Vietnam

            Peut-on parler de « parler Việt kiều » ?
            Tags: dialecte, langage, langue, ngôn ng7919, ti7871ng vi7879t, vi7879t ki7873u, viet kieu

            il y a aussi beaucoup de vices cachés :bigsmile:
            Le type qui a inventé ça a trouvé la bonne méthode pour se rendre indispensable !
            et pendant longtemps

          • #51014
            mike;41501 wrote:
            Tu a envoyé ton mail à partir de quelle messagerie ? c ‘est Yahoo,..?
            car certaines ne gèrent pas les caractères vietnamiens…

            C’etait depuis thunderbird, le logiciel de messagerie de mozilla..

            mike;41501 wrote:
            Si ton message n’est pas géré correctement par ta messagerie au départ, celui ci arrivera toujours à sa destinataire avec des symboles…

            Non je pense que l’information est bien la car elle m’a renvoye le message et la, juste en passant du mode uft-8 vers viet les symboles sont apparus correctements.. L’encodage est bon c’est juste l’affichage qui doit etre force en mode viet, alors qu’il a ete encode en utf8 ..

          • #51016

            si si le code iso 8859-15 existe bien..

            ISO 8859-15 (aussi connue comme Latin-9 et non officiellement comme Latin-0, mais jamais comme Latin-15) est la 15e partie de la norme de codage de caractères ISO 8859 de l’Organisation internationale de normalisation (ISO).
            Cette norme donne un code numérique tenant sur 8 bits aux caractères de l’alphabet latin utilisés en allemand, anglais, basque, catalan, danois, espagnol, finnois, français, italien, néerlandais, norvégien, portugais, romanche et suédois (parmi d’autres langues européennes).
            Il peut être considéré comme une mise à jour de la norme ISO 8859-1 : il est identique, à l’exception de huit caractères. Il ajoute entre autres le caractère de l’euro () et les caractères Œ, œ et Ÿ qui manquaient pour l’écriture du français, et en enlève quelques uns peu utilisés.
            voir http://fr.wikipedia.org/wiki/ISO_8859-15

          • #51033

            @claudio 41539 wrote:

            si si le code iso 8859-15 existe bien..

            Cette norme donne un code numérique tenant sur 8 bits aux caractères de l’alphabet latin utilisés en allemand, anglais, basque, catalan, danois, espagnol, finnois, français, italien, néerlandais, norvégien, portugais, romanche et suédois (parmi d’autres langues européennes).
            Il peut être considéré comme une mise à jour de la norme ISO 8859-1 : il est identique, à l’exception de huit caractères. Il ajoute entre autres le caractère de l’euro () et les caractères Œ, œ et Ÿ qui manquaient pour l’écriture du français, et en enlève quelques uns peu utilisés.

            Ha ha ha Le le code iso 8859-1 c’était déjà con alors ce 8859-15 c’est de la connerie acharnée ! Rassurez-vous personne n’est assez stupide pour l’utiliser.
            Explication :
            Il n’y a que 8 lettres de plus et donc bien sûr pas de vietnamien. Nem Chua, tu t’es planté !

            Wikipedia est en UTF8 et utilise donc le vrai unicode même pour afficher les lettres de ce code de merde dont € Œ œ Ÿ
            Chez Mike on utilise le faux unicode et ainsi pour écrire € Œ œ Ÿ ce sera… je vais voir
            Mort de rire :kimouss:
            Il faut aller voir le source avec IE car l’étiteur de souce de FireFoxe fait déjà la traduction ainsi le programeur naif pourait croire qu’il est bien en 8859-15 avec le euro et tout et tou
            Et bien non ! voici le source brut :

            Chez Mike on utilise le faux unicode et ainsi pour écrire £#8364; £#338; £#339; £#376; ce sera… je vais voir

            j’ai remplacé les & par des £ pour empecher le machin de traduire
            Le signe Euro ici c’est l’unicode 8364 bien au dela des 256 codes que propose un jeux 8 bit !

          • #51429

            pour ceux qui veulent en savoir plus:
            http://nguyentl.free.fr/html/sujet_systemes_ecritures_fr.htm#ecrire_viet
            tres bien fait..c’est le coup des polices que je n’avais pas capté.

          • #51455

            Je vais essayer de mettre un peu d’ordre dans une discussion qui me parait pédaler dans le yogourt !

            Tout d’abord, Unicode (contrairement à ce que son nom pourrait laisser penser) n’est pas un code. C’est la définition d’un jeu de caractères standards universel (Universal Character Set, UCS). UCS est défini par les normes ISO 10646 et 10646-2 comme étant un jeu de 2.147.483.648 caractères (il y a de quoi faire :bigsmile: , y compris pour les langues actuelles, anciennes ou futures, alphabétiques, idéographiques ou hiéroglyphiques !).
            La définition est organisée hiérarchiquement: 128 groupes composés chacun de 256 plans, eux-même composés de 256 rangées de 256 caractères chacune. Chaque caractère défini reçoit un numéro (allant de 0 à 2.147.483.647). Actuellement, tous les caractères possibles ne sont pas définis (de loin s’en faut :bigsmile:), seul le groupe 0 (65536 caractères possibles) contient des caractères, et encore, le groupe est plein de vide, malgré la présence des idéogrammes chinois et des hiéroglyphes égyptiens ! Ce groupe 0 est appelé BMP (Basic Multilingual Plan).
            C’est ainsi que les caractères vietnamiens sont dans le BMP (groupe 0), plan 0, rangée 30, rangée dite « Latin Extended Additional » allant du caractère 7680 au caractère 7935. Plus spécifiquement, les caractères vietnamiens sont les caractères allant de 7840 à 7929.

            Le fait de définir un jeu de caractères n’en fait pas pour autant quelque chose de directement utilisable sur un ordinateur. Il faut coder ce jeu de caractères.
            Le code le plus simple est, sans aucun doute, d’utiliser directement le numéro associé au caractère pour le codage, c’est le codage UCS-4 sur 4 octets (32 bits*). Solution simple en théorie, mais, en pratique, à ma connaissance, il n’existe pas de périphérique d’entrée-sortie (clavier, écran, etc) acceptant des caractères de 32 bits, pas plus que de logiciels implémentant directement UCS-4 (encore que les librairies disponibles sous Linux permettent d’implémenter directement UCS-4 :bigsmile:).
            Il existe une autre solution, ne coder que le BMP (puisque les seuls caractères définis actuellement sont dans le BMP) sur 2 octets (16 bits), c’est le codage UCS-2. De nouveau, à ma connaissance, pas de périphérique d’entrée-sortie, mais, quelques logiciels (surtout des logiciels libre ;D) supportent UCS-2.
            Pour finir, il existe un système de codage d’UCS assez largement répandu: UTF-8. C’est un codage d’UCS sur un nombre variable (de 1 à 6) de caractères de 8 bits. Les 128 premiers caractères d’UCS sont totalement compatibles avec les caractères ASCII (ISO 646), UTF-8 va donc coder ces caractères sur un seul caractère et ainsi la compatibilité est totale avec des logiciels n’utilisant que le code ASCII. Pour les 128 caractères suivants, UTF-8 les code sur 2 caractères de 8 bits. Mais les choses sont un peu plus complexes. Les anciennes normes (actuelles pour certains retardés comme Microsoft), ISO 8859-x n’assurent pas une correspondance totalement univoque entre caractère et codage, tout dépend du -x utilisé (quel est le malade qui a imaginé un tel truc :bigsmile:). Et c’est là que réside tout le problème posé par les langues accentuées !

            La conversion UCS <-> UTF8 est loin d’être triviale**.
            Microsoft, qui n’a jamais été connu pour la qualité de sa programmation, a pondu sa version d’UTF-8 totalement délirante et qui, en plus, fonctionne de façon très imparfaite.
            À l’opposé, les fonctions proposée par la FSF (Freee Software Foundation), utilisés par Linux implémentent de façon tout à fait correcte UTF-8 (je parle en connaissance de cause, j’ai travaillé dessus :bigsmile:).

            Et, en plus du codage d’UCS, il faut disposer de représentations graphiques des caractères sur imprimantes et écrans, c’est ce que l’on appelle les polices de caractères. Là encore, Microsoft a des années de retard sur l’état de l’art.

            CONCLUSION:
            Utilisez des logiciels libres, je ne dis pas que vous n’aurez plus de problème, mais vous en aurez infiniment moins qu’avec des produits dont on ne sait pas trop comment ils sont fabriqués. Ou, plutôt, on le sait trop bien: à la va-vite, pour les sortir le plus rapidement possible (vite fait, mal fait) et pouvoir ainsi ouvrir en grand son tiroir-caisse.

            Voilà, c’était la page du matin d’un prof qui reprend du poil de la bête.

            * bit: chiffre binaire.

            **pour les connaisseurs:
            Il s’agit de modules séquentiels à mémoire, l’état de sortie dépend de la combinaison des entrées ET de l’état antérieur du module, ce qui pose des problèmes relativement délicats en cas de réentrance. Contrairement à une transcodification simple, purement combinatoire.

          • #51461
            thuong19
            Participant
              abgech;42001 wrote:
              Je vais essayer de mettre un peu d’ordre dans une discussion qui me parait pédaler dans le yogourt !
              …un jeu de 2.147.483.648 caractères
              …CONCLUSION:
              Utilisez des logiciels libres, je ne dis pas que vous n’aurez plus de problème, mais vous en aurez infiniment moins qu’avec des produits dont on ne sait pas trop comment ils sont fabriqués. Ou, plutôt, on le sait trop bien: à la va-vite, pour les sortir le plus rapidement possible (vite fait, mal fait) et pouvoir ainsi ouvrir en grand son tiroir-caisse.
              …Voilà, c’était la page du matin d’un prof qui reprend du poil de la bête.

              salut abgech,
              2.147.483.648, c’est 2 exposant combien?
              En ce qui concerne les logiciels sous Linux, j’ hésite encore à me lancer.faudra-t-il que je recherche ensuite tous les logiciels de remplacement ?(photoshop, traitement de textes, tableurs, etc…)
              Quand au prof qui reprend du poil de la bête, tu en prendras toujours jusqu’à ce que les neurones n’en puissent plus.C’est notre karma de prof.:bigthumbup:
              Je vais tirer ton cours sur papier, et je vais essayer d’y comprendre quelque chose
              Salut et bonnes fêtes à toi et aux tiens:kimouss:

            • #51462

              @claudio 41973 wrote:

              pour ceux qui veulent en savoir plus:
              http://nguyentl.free.fr/html/sujet_systemes_ecritures_fr.htm#ecrire_viet
              tres bien fait..c’est le coup des polices que je n’avais pas capté.

              cette page a presque 10 ans… et quelques confusions
              – les caractères ASCII (ISO 646) c’est les 128 premiers caractères qui n’ont pas d’accents
              – Il n’explique pas l’astuce permettant de faire du pseudo Unicode avec uniquement de l’ASCII (peut-être que les navigateur genre IE5 ne le supportaient pas encore a l’époque) grâce a la séquence :
              et-commercial + dièse + le numéro Unicode en toute lettre + par point-virgule
              – les 12 autres techniques VNI, TCVN, VPS, VISCII… pour écrire en vietnamien sont maintenant abandonees

              Pour ce qui est des messageries
              Notez que la nouvelle version de la messagerie yahoo.fr est une page UTF8 et si elle ne vous aimer mieux l’ancienne version, comme moi, ils vous donnes une page en Occidental (ISO 8859-1)

              @NoiVongTayLon
              ainsi pas besoin de créer un compte dans « Yahoo Vietnam » pour résoudre ce problème :icon40:

              Si vous conservez votre vielle messagerie en Occidental (ISO 8859-1) vous copiez collez du vietnamien, votre ordinateur va générer un mélange de ISO 8859-1 (les accents communs au français et VN) + du faux unicode
              -Votre correspondant utilise la même vieux bidule, pas de problème.
              – votre corespant est en UTF8 , il ne voit tout sauf le français (e accent grave et aigu…):bigsmile:

              Votre correspondant vietnamien vous répond avec sa messagerie UTF8 :
              Dans le texte en français comme en VN, les accent sont remplaces par « rA©action » pour « réaction »
              Mais vous pouvez le lire en forçant votre navigateur a utiliser l’encodage UTF8 mais les accent du cadre de la messagerie sont remplaces par des petit carres 😳

              dans Internet Explorer, il faut aller dans Affichage > Codage > Unicode UTF8. Dans Firefox, il faut aller dans Affichage > Encodage des caractères > Unicode UTF8

            • #51442
              thuong19;42007 wrote:
              salut abgech,
              2.147.483.648, c’est 2 exposant combien?

              2 puissance 31. Et ta question me pose une colle ! À quoi sert le 32em bit ? J’imagine pour un contrôle de parité, mais cela n’aurait de sens que pour un codage. Sans doute pour préparer l’avenir, codage direct en UCS-4. Et je n’ai pas de doc sous la main pour confirmer mon sentiment.

              thuong19;42007 wrote:
              En ce qui concerne les logiciels sous Linux, j’ hésite encore à me lancer.faudra-t-il que je recherche ensuite tous les logiciels de remplacement ?(photoshop, traitement de textes, tableurs, etc…)

              Photoshop: Gimp ! (Voir http://www.gimp-fr.org/news.php )
              Je l’utilise, sans être un utilisateur exigeant. Mais, d’après ce que j’en entends dire, peut remplacer photoshop sans problème.

              Traitement de texte, tableurs: Openoffice ! (Voir http://fr.openoffice.org )
              Remplace:
              1) Microsoft word (peut lire et écrire des fichiers compatibles avec word).
              2) Microsoft excel (peut lire et écrire des fichiers compatibles avec excel).
              3) Microsoft Powerpoint (peut lire et écrire des fichiers compatibles avec powerpoint).
              4) Contient un éditeur d’équations assez performant.
              5) Contient un logiciel de dessin vectoriel.
              6) Contient une base de donnée. Je ne connais pas trop ce dernier logiciel, parce qu’il existe d’autres produits libres extrêmement performants (MySQL, PostgreSQL).

              Multimédia: vlc, xine, amarok, kaffeine
              Là, c’est plutôt l’embarras du choix. Il existe une grande quantité de logiciels libres consacrés au multimédia. Personnellement, j’utilise vlc, fonctionnalités assez avancées, pas de codecs, mais un interface moins « léché » que d’autres produits.

              Lecture de pdf: Acrobat (n’est pas vraiment un logiciel libre, mais gratuit).

              Gestion de photos
              : digiKam,

              Gravure de CD/DVD
              : K3B, plus performant que Nero.

              Navigateur internet: Firefox(et bien d’autres) l’essayer, c’est l’adopter.

              Gestion de courriel: Thunderbird (et bien d’autres), pas forcément le plus génial mais c’est celui que j’utilise.

              Etc, etc !

              On dit que le point faible de Linux, c’est les jeux. Comme je ne joue jamais (la programmation remplace absolument tout les jeux !) je ne sais pas trop. Je sais qu’il existe plusieurs centaines de jeux pour Linux, mais je ne peux rien en dire d’autre. Par contre, il me semble que les vrais amateurs de jeux préfère avoir une console que d’utiliser un ordinateur.

              Tu trouves Gimp, Openoffice, vlc, acrobat, firefox, thunderbird en version Windows, ce qui te permet de faire une transition en douceur vers les logiciels libres: d’abord les applicatif et ensuite le système d’exploitation (Linux ou une des variantes de BSD).

            • #51473
              Nem Chua
              Participant

                Re: pourquoi 2^31?

                Je m’y essaye.

                2 puissance 31 = 2,147,483,648.

                Si on codait brutalement sur 4 octets comme UTF-32 (Abgech, est-ce la même chose qu’UCS4?), on aurait les caractères de 0 à 2^32-1, soit deux fois plus. En UTF-8, on a perdu de la capacité de coder des très grands nombres. Ỏu est l’intérêt? C’est la capacité de coder simplement et légèrement les fichiers les plus courants.

                Quand on code en UTF-8, on peut employer un seul octet pour les 128 premiers caractères, de 0 à 127, et le bit de poids fort de l’octet est à 0. Quand ce bit est à zéro, l’application sait dire que c’est un octet seul, et interpréter 65dec (décimal), soit 01000001bin (binaire) comme la lettre A.

                Pour les caractères de numéro supérieur à 127, pour deux octets, le premier octet commence par 110, suivi de 5 bits significatifs (les bits de poids fort du numéro unicode), puis un deuxième octet qui commence par 10 suivi de 6 bits significatifs. On encore donc 2^(5+6) = 2^11 = 2048 caractères.

                Pour plus de caractères, on emploie 3 octets: 1110xxxx 10yyyyyy 10zzzzzz, soit 2^16 = 65536 caractères. Juste assez pour tous les caractères existants. Sur 4 octets, on code sur 4 octets: 11110www 10xxxxxx 10yyyyyy 10zzzzzz, donc 3w, et 6 x, y et z, donc 2^21. Je n’ai jamais vu de caractère encodé sur 4 octets. Ca doit exister. UTF-8 peut encoder par définition jusqu’à 6 octets: le premier 1111110x et 5 octets de la forme 10yyyyyy, soit 2^ (6 * 5 = 30 + 1 = 31) (le dernier bit du premier octet, qui est significatif).

                Bingo.

                On perd donc une part importante de la capacité de coder des grands nombres. (sur 6 octets, on peut coder en brut 6^36 caractères, soit 32 fois plus.

                L’intérêt de ca, à part que peu de périphériques sont en 32 bits, c’est aussi que l’immense majorité des fichiers et des données sont essentiellement de l’ASCII –même si sur Linux on peut tout-à-fait écrire un source en UTF-8 avec du viet dans le texte et ca sera compilé sans souci, le programme lui-même, par exemple, est en ASCII, donc codé sur 7 bits.

                De plus, cet encodage est « auto-synchronisé », c’est-à-dire que si on capte un flux de données, on peut toujours savoir à partir de quel octet on doit décoder pour avoir un texte clair.

                Si la norme ISO 10646 ne définit d’encodage que sur 6 octets et non 7 (on pourrait imaginer 11111110 et 6 fois 10xxxxxx pour encoder 2^36 caractères), ca doit être que ca permet de se synchroniser même si on capte un flux de bits sans synchro, donc même si on ne sait pas òu commencent et òu finissent les octets. La classe.

                C’est beau, l’info, quand c’est bien fait.

                En tout cas, UTF-8 n’est pas près de se faire supplanter par un autre encodage, c’est son immense force. (Jusqu’à ce que le Chinois ou le Bengali supplante l’anglais pour l’info!)

                Il n’y a vraiment que Windows pour ne pas vouloir implémenter ca proprement: comme ils ont une grosse part de marché, ca leur permet de garder une clientèle captive. Sur le web, le standard impose de savoir au moins reconnaitre UTF-8.

              • #51479
                Nem Chua;42022 wrote:

                Si on codait brutalement sur 4 octets comme UTF-32 (Abgech, est-ce la même chose qu’UCS4?), on aurait les caractères de 0 à 2^32-1, soit deux fois plus. En UTF-8, on a perdu de la capacité de coder des très grands nombres. Ỏu est l’intérêt? C’est la capacité de coder simplement et légèrement les fichiers les plus courants.

                En principe, mais en principe, UCS-8 est la même chose UTF-32. Toutefois, il peut y avoir des subtilités que je ne maitrise pas. Repris de wikipédia ( http://fr.wikipedia.org/wiki/UCS ) (excellent article au demeurant, avec des liens pertinents):

                Quote:
                Cependant, le temps passant, la situation changea dans le standard Unicode lui-même : 65.536 caractères devinrent vite insuffisants et, depuis la version 2.0 et suivantes, le standard supporte l’encodage de 1.112.064 caractères par les mécanismes de surrogate d’UTF-16. Pour cette raison, ISO 10646 fut limité à contenir autant de caractères que pouvait en contenir l’UTF-16, c.-à-d. à peine plus d’un de million caractères au lieu de plus de 2.000 millions. Le codage UCS-4 de l’ISO 10646 a été incorporé dans le standard Unicode avec la limitation de l’UTF-16 sous le nom d’UTF-32. Comme pour UTF-1, personne ne l’utilisa, en raison de son mauvais design (aucune manière de distinguer les octets solitaires, les octets de début de séquences et les autres octets, un problème similaire à celui du codage Shift-JIS pour le japonais) et de faibles performances (beaucoup d’opérations de division). Rob Pike et Ken Thompson, les développeurs du système d’exploitation Plan 9, conçurent un nouveau, rapide et bien-fini codage de taille variable, qui finit par être appelé UTF-8.

                Pour le 32em bit, je persiste à penser qu’il s’agit d’une réserve pour un bit de parité.

                Nem Chua;42022 wrote:
                Je n’ai jamais vu de caractère encodé sur 4 octets. Ca doit exister.

                Oui, le tableau de codage:
                Codage sur:
                1 caractère: 0xxxxxxx
                du caractère 0 au caractère 127. 7 bits utiles sur 8.

                2 caractères: 110xxxxx 10xxxxxx
                du caractère 128 au caractère 2047. 11 bits utiles sur 16.

                3 caractères: 1110xxxx 10xxxxxx 10xxxxxx
                du caractère 2048 au caractère 65535. 16 bits utiles sur 24.

                4 caractères: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
                du caractère 65536 au caractère 2097151. 21 bits utiles sur 32.

                5 caractères: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
                du caractère 2097152 au caractère 67108863. 26 bits utiles sur 40.

                6 caractères: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
                du caractère 67108864 au caractère 2147483647. 31 bits utiles sur 48.

                UTF-8 permet de représenter la totalité de l’UCS (avec deux restrictions, les caractères 254 et 255, en réfléchissant sur le codage en 2 carac. tu comprendras pourquoi :icon40:), y compris les idéogrammes et les caractères non encore définis (pour autant que l’on en ait une représentation graphique, une police) mais au prix d’une approche assez compliquée de chaines de caractères en longueur variable et un peu de perte de place.
                Je travaille actuellement sur un éditeur multi-langage permettant de travailler caractères européen, symboles math, arabe, chinois, etc. Les données sont mémorisée sous forme de caractères de 32 bits (type wchar_t de la librairie GNU sous Linux, UCS-4) mais les entrées-sorties se font en UTF-8.

                Nem Chua;42022 wrote:
                De plus, cet encodage est « auto-synchronisé », c’est-à-dire que si on capte un flux de données, on peut toujours savoir à partir de quel octet on doit décoder pour avoir un texte clair.

                La logique de décodage est de type séquentiel à mémoire, tant que l’on reste dans le cadre d’un traitement mono-tâche sans réentrance on se ramène à un cas dégénéré de cette logique, une approche purement combinatoire ce qui ne pose aucun problème. Par contre les choses se compliquent lorsqu’on implémente la réentrance: la fonction doit contenir une pile de variables d’état pour chacun des appels concurrent. C’est ce que tu appelle la synchro, effectivement, délicat, mais intéressant, à réaliser.

                Nem Chua;42022 wrote:
                Il n’y a vraiment que Windows pour ne pas vouloir implémenter ca proprement: comme ils ont une grosse part de marché, ca leur permet de garder une clientèle captive. Sur le web, le standard impose de savoir au moins reconnaitre UTF-8.

                Je ne résiste pas à la tentation de citer encore wikipédia ( http://fr.wikipedia.org/wiki/UTF-8 ) pour illustrer la façon dont Microsoft « travaille »:

                Quote:
                De par son système de codage, il est possible de représenter un point de code de différentes manières en UTF-8, ce qui peut poser un problème de sécurité : un programme mal écrit peut accepter un certain nombre de représentations UTF-8, normalement invalides selon la RFC 3629 mais pas selon la spécification originale, et les convertir comme un seul et même caractère. De fait, un logiciel détectant certaines chaînes de caractères (pour prévenir les injections SQL, par exemple) peut échouer dans sa tâche.
                Prenons un exemple tiré d’un cas réel de virus attaquant des serveurs HTTP du Web en 2001 ((en)[1] [2] [3]). Une séquence à détecter pourrait être « /../ » représentée en ASCII (a fortiori en UTF-8) par les octets « 2F 2E 2E 2F » en notation hexadécimale.
                Cependant, une manière malformée de coder cette chaîne en UTF-8 serait « 2F C0 AE 2E 2F », appelée aussi en anglais overlong form (forme superlongue). Si le logiciel n’est pas soigneusement écrit pour rejeter cette chaîne, en la mettant par exemple sous forme canonique, une brèche potentielle de sécurité est ouverte. Cette attaque est appelée directory traversal.

                Il est vrai que le but de Microsoft n’est pas de produire de bons logiciels, mais de maximiser son profit et, cela, ils le font parfaitement.

              • #51487
                Nem Chua
                Participant

                  254 et 255, je vais y penser.

                  les 31 bits, tu les as donnés toi-même: «  6 caractères: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
                  du caractère 67108864 au caractère 2147483647. 31 bits utiles sur 48. »

                  ca colle: c’est bien 31 bits sur 6 octets. (et il n’ a plus de raison de chercher 32 bits: on n’est pas sur 4 mais sur 6 octets).

                  Un autre exemple est « degré C » ou « degré F », sachant qu’il y a des caractères unicode pour chacun (et d’autres), mais qu’on peut aussi les écrire en combinant « degré » et C ou F.

                  Le problème des normes, c’est qu’il faut qu’on les suive!

                • #51488
                  Nem Chua
                  Participant

                    254 dec: 11000011 10111110 utf-8 (bits significatifs: 00011 111110 = 254d)
                    255 dec: 11000011 10111111 utf-8 (bits significatifs: 00011 111111 = 255d)

                    Ca m’a l’air de coller, je ne vois pas le problème, Abgech? me trompé-je?

                  • #51489
                    Nem Chua
                    Participant

                      Quid réentrance?

                    • #51498

                      Exposés, somme toute, hautement intéressants ! (même si je comprends pas tout…! :bigsmile:)
                      Mais…merci pour…la migraine ! :heat:

                    • #51499
                      Nem Chua;42038 wrote:
                      Quid réentrance?

                      La réentrance, c’est le fait pour un module en cours d’exécution pour un processus P0 d’être appelé par un autre processus P1, sans que P1 soit obligé d’attendre la fin de l’utilisation du module par P0 pour commencer sa propre exécution.
                      Et la définition est récursive (mais ce n’est pas la récursivité qui est une autre notion) :bigsmile:: la réentrance, c’est le fait pour un module en cours d’exécution par plusieurs processus P0, P1, …Pn , d’être appelée par un autre processus Pn+1, sans que Pn+1 soit obligé d’attendre la fin de l’utilisation du module par P0, P1, …Pn.

                      En fait, plus simplement dit, c’est la faculté pour un module d’être exécuté simultanément par plusieurs processus. Par exemple un module appelé par des interruptions.

                      Certains langages de programmation implémentent automatiquement la réentrance, par exemple ADA. Dans d’autre le C, il faut programmer en détail.

                      Pour écrire du code réentrant, il faut bannir les variables globales (de tout façon, any time :bigsmile:), passer les paramètres sur la pile et allouer les variables locales sur la pile (comme pour la récursivité) mais en plus on doit constituer une structure de donnée qui contient l’adresse des paramètres et des variables locales pour chacun des processus simultané. Ce doit être une structure dynamique puisque, à priori, on ne connait pas le nombre de processus simultanés qui vont utiliser le module.

                      Bon, partant de « envoi mails en vietnamien » j »arrive aux prémisses d’un cours de programmation industrielle, quelle dérive. Mike, pardonnes-moi, je ne recommencerai plus (tout au moins jusqu’à la prochaine fois).

                    • #51500

                      Si je comprends bien, cela veut dire qu’un programme réentrant n’est chargé qu’une seule fois en mémoire ?

                    • #51515
                      B-Kool;42047 wrote:
                      Si je comprends bien, cela veut dire qu’un programme réentrant n’est chargé qu’une seule fois en mémoire ?

                      Exactement, tu as tout compris.

                      C’est surtout le cas pour des parties du système d’exploitation (SE) et, surtout pour les librairies. Les librairies sont des collections de petites partie de programme, suffisamment générales pour pouvoir être utilisées par plusieurs programmes: calcul de racine carrée,lecture de clavier, affichage, etc.

                      Sous les SE Linux, Unix (et toutes ses variantes), BSD, Mac OS X, les librairies sont dynamiques et réentrantes, un module n’est chargé que lorsqu’un programme y fait référence pour la première fois et pour autant qu’il n’y ait pas déjà une copie de ce module en mémoire.
                      C’est ainsi que si 10, 20, 50 programmes en cours d’exécution font appel au calcul de la racine carrée, il n’y aura qu’une seule copie de ce module en mémoire.

                      Sous windows, par contre, les librairies (les DLL) sont, mettons, dynamiques mais non réentrantes, le module est chargé au moment du chargement en mémoire du programme (et non pas au premier appel) et, surtout, il y a autant de copies en mémoire que de programmes utilisant ce module.
                      C’est ainsi que si 10, 20, 50 programmes en cours d’exécution font appel au calcul de la racine carrée, il n’y aura 10, 20, 50 copies de ce module en mémoire.
                      Ceci n’est qu’un des aspects qui font que Windows est, techniquement parlant, un mauvais produit. Il y en a bien d’autres, la sécurité (pourquoi y-a-t-il des virus ?) et la stabilité ne sont pas parmi les derniers.

                      Cela dit, Microsoft est une entreprise bien gérée. Pourquoi devrait-elle invertir, donc diminuer son profit, pour améliorer ses produits ? Ses produits, même mauvais, elle les vend, et les vend bien, en dégageant un profit intéressant

                      Une grande partie des consommateurs pense qu’elle n’a pas le choix et qu’elle est obligée d’en passer par là, c’est en partie vrai compte tenu que Windows est préinstallé sur les ordinateurs grand-public (à cause des contrats léonins que Microsoft a fait signer aux constructeurs), ce l’est moins sur le marché des serveurs où le choix du système est fait, en principe par des professionnels et où Microsoft est minoritaire.
                      Utilisez le site http://uptime.netcraft.com/up/graph pour voir sous quel SE tourne un site donné. Vous serez surpris du résultat:
                      http://www.forumvietnam.fr (sous Linux),
                      http://www.yahoo.fr (FreeBSD),
                      http://www.google.fr (Linux),
                      http://www.ibm.fr (AIX, version IBM d’Unix),
                      http://www.defense.gouv.fr (Linux, normal, la défense française ne tient pas trop à ce que n’importe qui se promène sur leurs serveurs),
                      http://www.lefigaro.fr (Linux),
                      http://www.liberation.fr (SE inconnu, mais sous apache, vraisemblablement un clone d’Unix),
                      etc, etc.
                      J’arrête ici ma liste.

                      Dans la masse du personnel de Microsoft, les développeurs (au sens large du terme) sont une minorité (de 15 à 20 %), le reste c’est du personnel voué à la commercialisation et à la gestion. Et tant que c’est profitable et plus ou moins sans concurrence, il n’y a aucune raison que ça change. Une entreprise en quasi monopole ne peut que fournir de mauvais produits à un prix surévalué.

                  Vous lisez 32 fils de discussion
                  • Vous devez être connecté pour répondre à ce sujet.