Accepter les emojis sur ce forum ?

Toutes discussions et/ou suggestions concernant le site et le forum sont ici les bienvenues.
Avatar du membre
Admin
Administrateur
Messages : 1054
Enregistré le : mercredi 28 septembre 2005 à 20:54
Localisation : IDF

Re: Accepter les emojis sur ce forum ?

Message par Admin »

patic a écrit :En fait l'encodage doit être uniformisé partout : dans la base de données, la table, la connexion, dans les fichiers, etc. Il y a des risques notamment de conflit entre collations différentes.
C'est le cas, normalement.

Mais de toutes façons, utf8mb4 est seulement une extension de l'encodage utf-8, autrement dit cet encodage consiste juste à ajouter des codes valides là où n'existaient que des codes invalides parce qu'indéfinis. L'encodage existant n'est absolument pas modifié. Tout ce qui est valide en utf-8 est aussi valide en utf8mb4, sans aucun changement dans les valeurs binaires des codes déjà existants. Tout fichier codé en utf-8 est aussi un fichier codé en utf8mb4.

C'est l'inverse qui n'est pas vrai, en revanche.
Le Webmestre
patic
Assidu
Messages : 213
Enregistré le : mardi 14 mars 2017 à 15:01

Re: Accepter les emojis sur ce forum ?

Message par patic »

_deleted_
Modifié en dernier par patic le vendredi 26 janvier 2018 à 17:43, modifié 1 fois.
________________
Avatar du membre
Tugdual
Modérateur
Messages : 41261
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Accepter les emojis sur ce forum ?

Message par Tugdual »

patic a écrit :Je ne connais pas cette notion de "utf8mb4", c'est peut être propre à mysql.
C'est bien ça : voir ici.

La gestion "utf8" de MySQL est déficiente : elle ne code les caractères
que sur trois octets maximum, ce qui ne permet pas la prise en compte
de l'ensemble du jeu de caractères Unicode (dont les fameux emojis).

Ils ont dont ajouté un mode "utf8mb4" pour étendre le codage des
caractères sur quatre octets maximum, et enfin gérer l'Unicode complet.
TCS = trouble de la communication sociale (24/09/2014).
patic
Assidu
Messages : 213
Enregistré le : mardi 14 mars 2017 à 15:01

Re: Accepter les emojis sur ce forum ?

Message par patic »

_deleted_
Modifié en dernier par patic le vendredi 26 janvier 2018 à 17:43, modifié 1 fois.
________________
Avatar du membre
Tugdual
Modérateur
Messages : 41261
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Accepter les emojis sur ce forum ?

Message par Tugdual »

patic a écrit :Ils sont loin de pouvoir gérer utf-16 alors, et encore moins utf-32, quoique je me demande bien l'intérêt de ces derniers à part dans des cas très particuliers.
Tu confonds ici la norme Unicode et ses implémentations
UTF-8, UTF-16 et UTF-32, qui chacune la supporte entièrement.

Quelques détails ici et ...

Le problème ici était juste que l'implémentation de "UTF-8" par
MySQL est déficiente et ne supporte qu'une partie d'Unicode ...
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Admin
Administrateur
Messages : 1054
Enregistré le : mercredi 28 septembre 2005 à 20:54
Localisation : IDF

Re: Accepter les emojis sur ce forum ?

Message par Admin »

patic a écrit :Ah oui d'accord ! Cela ne m'étonne pas, Mysql a ses avantages mais ce n'est pas une base de données haut de gamme dirons nous.
Ils sont loin de pouvoir gérer utf-16 alors, et encore moins utf-32, quoique je me demande bien l'intérêt de ces derniers à part dans des cas très particuliers.
utf16 et utf32 (sans trait d'union dans leur syntaxe) ont été ajoutés à MySQL à partir de la version 5.5.3, en même temps que utf8mb4.

Voir https://dev.mysql.com/doc/relnotes/mysq ... 5-5-3.html
Le Webmestre
patic
Assidu
Messages : 213
Enregistré le : mardi 14 mars 2017 à 15:01

Re: Accepter les emojis sur ce forum ?

Message par patic »

_deleted_
Modifié en dernier par patic le vendredi 26 janvier 2018 à 17:44, modifié 1 fois.
________________
Avatar du membre
Admin
Administrateur
Messages : 1054
Enregistré le : mercredi 28 septembre 2005 à 20:54
Localisation : IDF

Re: Accepter les emojis sur ce forum ?

Message par Admin »

patic a écrit :Je t'avoue que je n'ai jamais cherché les différences, je pensais simplement que l'utf-16 et suivant incluait plus de caractères et demandait une allocation mémoire supérieure.
Personnellement, j'utilise utf-8 partout par défaut sauf si on me contraint à autre chose.
utf-8 et utf-16 représentent les mêmes caractères, la différence est qu'en utf-8 ces caractères sont codés sur un octet (8 bits) avec un codage multioctets dès lors que 7 bits ne sont pas suffisants (le 8ème bit indiquant justement un codage sur plusieurs octets).
En utf-16, on code les caractères par multiples de 16 bits (2 octets), donc à la base sur 16 bits, mais en utilisant un second groupe de 16 bits pour les caractères où 16 bits ne sont pas suffisant (cas des emojis, justement).

utf-8 est probablement le meilleur choix dans la quasi-totalité des cas, utf-16 est utilisé en interne dans Windows, sans doute parce qu'au départ (depuis Windows 95) tout y était codé sur 16 bits, mais qu'avec l'extension de l'Unicode, ils se sont rendu compte que ce n'était plus suffisant.
Le Webmestre