Discussion:
Choix de jeu de caractères pour une base mysql
(trop ancien pour répondre)
Didier
il y a 15 ans
Permalink
Bonjour à tous.
Ayant un projet de mise en place d'une base mysql, exploitée par du php
sur des PC majoritairement sous IE6 et IE7 (dans une entreprise), je
cherche à faire propre du côté du jeu de caractères.
J'ai jusqu'à présent plutôt bricolé en auto-didacte.
Pouvez-vous me conseiller.
Ce que j'ai lu jusqu'à présent (site
http://www.siteduzero.com/tutoriel-3-36943-comprendre-les-jeux-de-caracteres-et-interclassements.html#ss_part_1)
* l'UTF8 est plutôt universel, sa seule limitation semble être son
support par le logiciel de l'ordi client.
* les jeux de type ISO 8859-1 ou -15 ne sont à utiliser que si on est
sûr que seuls des clients sous ce jeu vont utiliser la base de données.
* on peut préciser dans le HTML, et dans le sript php, quel jeu utilise
le client.
Ce n'est pas trop confus, mais je suis preneur de confirmations/précisions.
Merci.
Didier.
Xavier Roche
il y a 15 ans
Permalink
Post by Didier
J'ai jusqu'à présent plutôt bricolé en auto-didacte.
Le seul codage ("transformation unicode") amha utilisable est UTF-8 dès
lors que l'on stocke, ou fait des transactions réseau. UCS-2 ou UCS-4
est un choix également probable pour une représentation interne.

En clair, une transformation Unicode simple qui peut gérer tous les cas
possibles est probablement le meilleur choix. Si vous devez ensuite
gérer des encodages différents sur les postes clients, une conversion
est toujours envisageable (dans la mesure où le jeu de caractères de
destination supporte les caractères en question)

Dans un monde idéal, tout ce qui n'est pas (transformation directe de)
Unicode ne devrait pas avoir droit de citer.
Vincent
il y a 15 ans
Permalink
Post by Didier
* on peut préciser dans le HTML, et dans le sript php, quel jeu utilise
le client.
UTF-8 sans hésiter pour la base. En tout état de cause, les clients
n'accèdent pas à la base directement.

Même IE 6 sait interpréter un charset="UTF-8"
Olivier Miakinen
il y a 15 ans
Permalink
Bonjour,
Post by Didier
Ayant un projet de mise en place d'une base mysql, exploitée par du php
sur des PC majoritairement sous IE6 et IE7 (dans une entreprise), je
cherche à faire propre du côté du jeu de caractères.
Voilà une excellente résolution.
Post by Didier
J'ai jusqu'à présent plutôt bricolé en auto-didacte.
Pouvez-vous me conseiller.
Ce que j'ai lu jusqu'à présent (site
http://www.siteduzero.com/tutoriel-3-36943-comprendre-les-jeux-de-caracteres-et-interclassements.html#ss_part_1)
Comme souvent, les pages du Site du Zéro simplifient un peu trop
certaines notions, ce qui peut faire bondir les experts, mais elles
sont quand même d'assez bon conseil. Utiliser UTF-8 fait partie de ces
excellents conseils, surtout concernant le développement d'un site web.

On ne peut s'empêcher de sourire, quand même, en lisant que
« l'ISO-8859-1 [] est de plus en plus remplacé par l'ISO-8859-15
car ce dernier, plus récent, ajoute le support du signe euro "¬". »
(et plus loin qu'ils utilisent UTF-8 pour le site, ce qui devrait
logiquement permettre d'écrire un € sans qu'il se tranforme en ¬).
Post by Didier
* l'UTF8 est plutôt universel, sa seule limitation semble être son
support par le logiciel de l'ordi client.
Effectivement, si tu utilises de très vieux logiciels, il est possible
qu'ils ne gèrent pas l'UTF-8. Mais en ce qui concerne un site web (si
c'est bien ce dont il est question) ça fait des années que tous les
navigateurs le supportent.
Post by Didier
* les jeux de type ISO 8859-1 ou -15 ne sont à utiliser que si on est
sûr que seuls des clients sous ce jeu vont utiliser la base de données.
Plus précisément, ils ne sont à utiliser que si tu es sûr de ne jamais
avoir besoin du moindre caractère en dehors de ces jeux. Donc jamais une
lettre grecque ou cyrillique, jamais un symbole mathématique, jamais un
symbole musical, jamais une apostrophe typographique (eh oui), jamais
deux niveaux de guillemets... même pour n'écrire qu'en français on peut
facilement se retrouver limité.
Post by Didier
* on peut préciser dans le HTML, et dans le sript php, quel jeu utilise
le client.
Oui. Tu peux même avoir ta base de données tout en UTF-8, et pourtant
générer des pages HTML dans un autre jeu de caractères. Mais là encore,
autant que possible, il est souvent préférable de tout avoir en UTF-8.


Cordialement,
--
Olivier Miakinen
Didier
il y a 15 ans
Permalink
...
Merci à tous.
Avant de me lancer, je fais faire quelques essais avec mon easyphp en
local. L'idéal serait que j'arrive à provoquer un problème, afin d'être
sûr d'avoir bien compris.
Olivier : j'avais noté le coup si symbole euro, mais j'ai trouvé tout le
reste plutôt pas mal pour un néophite.
Je suppose que s'il y avait de grosses erreurs, tu les aurais relevées.
Encore merci, je vais faire chauffer notepad++.
Didier.
Olivier Miakinen
il y a 15 ans
Permalink
Bonjour,
Post by Didier
[citation intégrale]
Voir <http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html>,
surtout les paragraphes 3a et 3b. Merci !
Post by Didier
[<http://www.siteduzero.com/tutoriel-3-36943-comprendre-les-jeux-de-caracteres-et-interclassements.html#ss_part_1>]
Olivier : j'avais noté le coup si symbole euro, mais j'ai trouvé tout le
reste plutôt pas mal pour un néophite.
Je suppose que s'il y avait de grosses erreurs, tu les aurais relevées.
Il y en a -- plus exactement de grosses approximations -- mais je
considère qu'elles ne remettent pas en cause le message général, ce
pourquoi je n'en ai pas parlé.

En particulier, est faux le paragraphe qui laisse entendre qu'en dehors
d'ASCII 7 bits il faut toujours deux octets par caractères, et que cela
permet de coder 32768 caractères au total.

Cordialement,
--
Olivier Miakinen
Didier
il y a 15 ans
Permalink
Post by Olivier Miakinen
Bonjour,
[citation intégrale]
Voir <http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html>,
surtout les paragraphes 3a et 3b. Merci !
Oups ! Désolé.
Merci.
Didier.

Loading...