Accueil forumAccueil site

Nous sommes le Lundi 20 Novembre 2017 à 10:44

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 23 messages ]  Aller à la page Précédente  1, 2
Auteur Message
MessagePosté: Dimanche 16 Avril 2017 à 22:53 
Hors ligne
Administrateur
Avatar de l’utilisateur

Enregistré le: Mercredi 28 Septembre 2005 à 19:54
Messages: 553
Localisation: IDF
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


Haut
 Profil  
Répondre en citant le message  
MessagePosté: Dimanche 16 Avril 2017 à 23:27 
Hors ligne
Fidèle
Avatar de l’utilisateur

Enregistré le: Mardi 14 Mars 2017 à 15:01
Messages: 190
Localisation: Bretagne
Excuse moi, je pensais que tu passais d'un encodage très ancien ou même un ISO quelque chose vers l'utf-8. J'ai lu trop vite.

Je ne connais pas cette notion de "utf8mb4", c'est peut être propre à mysql. Il est trop tard pour faire des recherches, mon lit m'appelle.

_________________
homme, 43 ans, habite en Bretagne près de Redon
en cours d'auto-évaluation avant de faire un diagnostic officiel
pas de diagnostique au CRA finalement, j'ai estimé que ce serait plus sources de problèmes qu'autres choses


Haut
 Profil  
Répondre en citant le message  
MessagePosté: Lundi 17 Avril 2017 à 7:17 
En ligne
Modérateur
Avatar de l’utilisateur

Enregistré le: Jeudi 15 Novembre 2012 à 0:13
Messages: 16287
Localisation: Nord-44
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.

_________________
Bilan le 24/09/2014 : non-Aspie, juste trouble de la communication sociale ...


Haut
 Profil  
Répondre en citant le message  
MessagePosté: Lundi 17 Avril 2017 à 9:28 
Hors ligne
Fidèle
Avatar de l’utilisateur

Enregistré le: Mardi 14 Mars 2017 à 15:01
Messages: 190
Localisation: Bretagne
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.
A lire la documentation (le lien que tu as donné), il semble que cela ne devrait pas entraîner de conflit.

Personnellement j'ai plutôt travailler sur MS SQL, très bien mais non open source et très cher (trop), donc pour mes propres développements à venir j'ai envie d'aller voir Postgresql (je ne bosse pas sur php, c'est pour cela).

Pardon pour les non aficionados, j'arrête là le discours technique ...

_________________
homme, 43 ans, habite en Bretagne près de Redon
en cours d'auto-évaluation avant de faire un diagnostic officiel
pas de diagnostique au CRA finalement, j'ai estimé que ce serait plus sources de problèmes qu'autres choses


Haut
 Profil  
Répondre en citant le message  
MessagePosté: Lundi 17 Avril 2017 à 9:58 
En ligne
Modérateur
Avatar de l’utilisateur

Enregistré le: Jeudi 15 Novembre 2012 à 0:13
Messages: 16287
Localisation: Nord-44
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 ...

_________________
Bilan le 24/09/2014 : non-Aspie, juste trouble de la communication sociale ...


Haut
 Profil  
Répondre en citant le message  
MessagePosté: Lundi 17 Avril 2017 à 10:50 
Hors ligne
Administrateur
Avatar de l’utilisateur

Enregistré le: Mercredi 28 Septembre 2005 à 19:54
Messages: 553
Localisation: IDF
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


Haut
 Profil  
Répondre en citant le message  
MessagePosté: Lundi 17 Avril 2017 à 10:58 
Hors ligne
Fidèle
Avatar de l’utilisateur

Enregistré le: Mardi 14 Mars 2017 à 15:01
Messages: 190
Localisation: Bretagne
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.
Aujourd'hui, les problèmes mémoires (sauf peut être sur l'embarqué) ne sont plus autant prioritaires. Dans une base de données, j'utilise les bons types (un char si je n'ai pas besoin d'un varchar par exemple) mais du côté de la collation (jeux de caractères) je privilégie utf-8.

_________________
homme, 43 ans, habite en Bretagne près de Redon
en cours d'auto-évaluation avant de faire un diagnostic officiel
pas de diagnostique au CRA finalement, j'ai estimé que ce serait plus sources de problèmes qu'autres choses


Haut
 Profil  
Répondre en citant le message  
MessagePosté: Lundi 17 Avril 2017 à 13:14 
Hors ligne
Administrateur
Avatar de l’utilisateur

Enregistré le: Mercredi 28 Septembre 2005 à 19:54
Messages: 553
Localisation: IDF
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


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 23 messages ]  Aller à la page Précédente  1, 2

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas modifier vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Développé par phpBB® Forum Software © phpBB Group
Traduit par phpBB-fr.com