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

SQL Procédural MySQL Discussion :

Conseil sur le charset


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Par défaut Conseil sur le charset
    Hello,

    Je voudrais parser 2 sites, un en utf8, l'autre en latin1.
    J'ai beau essayé plusieurs charset dans mysql, j'ai toujours les caractéres bizarres dans la BDD (pour les accents entre autres).

    Donc la premiére question : Si j'ai ma BDD en UTF8 et que je parse le site latin1, est ce que je dois réencoder avant de faire mon insertion ? Ou est ce qu'il y a quelquechose qui m'échappe dans mysql ?

    Deuxiéme question : A votre avis, quel est le meilleur choix de charset pour les langues europénnes et les accents ? En sachant que je risque de parser des sites espagnols, italiens et uk aussi dans le futur.
    Si j'ai bien compris, ce qui gére bien les accents c'est : latin1_swedish_ci, latin1_german1_ci, utf8_general_ci, utf8_unicode_ci.

    Je vois que l'UTF8 commence à être pas mal utilisé, mais le latin1 est suffisant il me semble ? Est ce que je ne devrais pas adopter tout de suite le charset "à la mode" pour m'éviter des tracas plus tard ?

    Merci

    PS : Question bête mais bon...
    La différence entre les termes "charset" et "collation" ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Citation Envoyé par TallyHo Voir le message
    Hello,

    Je voudrais parser 2 sites, un en utf8, l'autre en latin1.
    J'ai beau essayé plusieurs charset dans mysql, j'ai toujours les caractéres bizarres dans la BDD (pour les accents entre autres).

    Donc la premiére question : Si j'ai ma BDD en UTF8 et que je parse le site latin1, est ce que je dois réencoder avant de faire mon insertion ? Ou est ce qu'il y a quelquechose qui m'échappe dans mysql ?
    MySQL fait les conversions automatiquement à partir du moment où on lui déclare bien quelle est la source...

    Citation Envoyé par TallyHo Voir le message
    Deuxiéme question : A votre avis, quel est le meilleur choix de charset pour les langues europénnes et les accents ? En sachant que je risque de parser des sites espagnols, italiens et uk aussi dans le futur.
    Si j'ai bien compris, ce qui gére bien les accents c'est : latin1_swedish_ci, latin1_german1_ci, utf8_general_ci, utf8_unicode_ci.
    ce qui revients aux deux mêmes charsets, latin1 et utf8. A priori, pour les langues que tu cites, latin1 est suffisant. Utf8 contient (théoriquement) toutes les langues et tous les signes, mais peut être plus lent et poser des pbs avec quelques (rares) fonctions textes qui ne sont pas "multibyte proof".
    Citation Envoyé par TallyHo Voir le message

    Je vois que l'UTF8 commence à être pas mal utilisé, mais le latin1 est suffisant il me semble ? Est ce que je ne devrais pas adopter tout de suite le charset "à la mode" pour m'éviter des tracas plus tard ?

    Merci

    PS : Question bête mais bon...
    La différence entre les termes "charset" et "collation" ?
    Le jeu de caractères définit les caractères auxquels tu as droit. A l'intérieur de ce jeu, la collation définit l'ordre de tri des caractères, ainsi que leurs équivalences. Par exemple, en utf8_unicode_ci, 'é' = 'E', ce qui serait faux avec utf8_bin.

  3. #3
    Membre extrêmement actif Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Par défaut
    Citation Envoyé par Antoun Voir le message
    MySQL fait les conversions automatiquement à partir du moment où on lui déclare bien quelle est la source...
    C'est à dire ? Si je suis en latin1 et que je parse du utf8, il faudra que je réencode la chaine avant de l'insérer dans mysql ?

    Sinon pour le charset, conclusion, je reste donc en latin1_swedish d'aprés toi ?

    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 117
    Par défaut
    Citation Envoyé par TallyHo
    Sinon pour le charset, conclusion, je reste donc en latin1_swedish d'aprés toi ?
    Comme te le disais Antoun :
    jeu de caractère (charset) = latin1 ou utf8 ou autre
    interclassement (collation) = latin1_swedish

    Si tu n'auras jamais à utiliser des charactères autres qu'européens, n'utilise pas le jeu de caractère utf8.

    A mon avis, l'interclassement latin1_general (ci ou cs selon le cas) est le plus approprié pour le francais.


    à
    Citation Envoyé par Antoun
    MySQL fait les conversions automatiquement à partir du moment où on lui déclare bien quelle est la source...
    tu réponds
    Citation Envoyé par TallyHo
    il faudra que je réencode la chaine avant de l'insérer dans mysql ?


    Non, ca veut justement dire que tu n'as rien à faire si le jeu de caractère de ta table est différent de celui des données que tu veux utiliser à condition de le préciser dans tes requetes evidemment.

  5. #5
    Membre extrêmement actif Avatar de TallyHo
    Homme Profil pro
    Lutin numérique
    Inscrit en
    Février 2006
    Messages
    1 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lutin numérique

    Informations forums :
    Inscription : Février 2006
    Messages : 1 053
    Par défaut
    Je vais faire des vérifs alors car j'ai toujours le souci.
    Sinon je reviens à la charge avec un copier-coller du code si vraiment je m'en sors pas, mais bon d'aprés ce que vous dites c'est moi qui merdouille
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSP-Servlet] Conseils sur façon de coder
    Par gunnm dans le forum Servlets/JSP
    Réponses: 20
    Dernier message: 09/12/2004, 20h57
  2. Conseil sur modélisation
    Par Tankian dans le forum Schéma
    Réponses: 7
    Dernier message: 11/08/2004, 11h13
  3. cherche conseil sur livre pour jbuilder
    Par med1 dans le forum JBuilder
    Réponses: 3
    Dernier message: 09/06/2004, 13h33
  4. [débutant] conseils sur contraintes et alter table
    Par maysa dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 26/05/2004, 09h03
  5. Recherche Livre / Conseils sur la conception de Base
    Par Yeuma dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 02/01/2004, 14h25

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