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

Requêtes MySQL Discussion :

Recherche des character_set


Sujet :

Requêtes MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 90
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 33
    Par défaut Recherche des character_set
    Si dans PHPMyAdmin je me connecte à ma base de données et que je lance la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW VARIABLES LIKE "character_set%"
    j'obtiens le résultat :

    character_set_client utf8
    character_set_connection utf8
    character_set_database utf8
    character_set_filesystem binary
    character_set_results utf8
    character_set_server utf8
    character_set_system utf8
    character_sets_dir C:\PROGRA~1\EasyPHP3.1\mysql\share\charsets\


    Si dans mon script PHP j'écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	if (mysql_connect($server,$user,$mdp)) {
    		$mysql_result = mysql_query('SHOW VARIABLES LIKE "character_set%"');
    		$mysql_vars = mysql_fetch_row($mysql_result);
    $mysql_vars ne me donne que

    character_set_client utf8

    Le resultat est d'ailleurs le même que je lance cette requête avant ou après la ligne Où sont passées les autres ?
    Comment vérifier le character_set propre à une table donné qui serait modifié par une requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE myTable charset=utf8
    ?

  2. #2
    Membre émérite Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Par défaut
    Bonjour,

    Ce n'est pas un problème de requête ou de MySQL, mais bien de PHP.

    Vous faites un simple:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $mysql_vars = mysql_fetch_row($mysql_result);
    Votre tableau $mysql_vars ne contiendra que la première ligne du résultat.

    Utilisez une boucle While(), regardez la doc PHP.

    Exemple (de mémoire, à tester):
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
    while ($mysql_vars = mysql_fetch_array($mysql_result))
    {
      print_r($mysql_vars);
    }
    ...


    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 90
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 33
    Par défaut Pardon d'avoir été aussi stupide, mais pour la fin ?
    Pour tenter d'excuser ma stupidité (parce que je n'ai même pas besoin de rechercher la doc PHP que, pour ce point au moins, je connais bien!!!!), je pourrais prétendre que en fait c'est pour tenter de répondre à la deuxième partie de la question que j'ai dérapé sur la première.

    Et donc :

    Quel est dans la liste obtenue le character_set propre à une table donné qui serait modifié par une requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE myTable charset=utf8

  4. #4
    Membre émérite Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Par défaut
    Citation Envoyé par Softdaemon Voir le message
    Et donc :

    Quel est dans la liste obtenue le character_set propre à une table donné qui serait modifié par une requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE myTable charset=utf8
    Essayez ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT TABLE_COLLATION
    FROM information_schema.tables
    WHERE TABLE_SCHEMA = 'leNomDeLaBDD'
       AND TABLE_NAME = 'leNomDeLaTable'

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 90
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 33
    Par défaut Bonne idée
    Bonne idée en effet qui m'a fait découvrir ces requêtes d'information sur les tables.

    Si je comprends bien (parce que j'ai un peu de mal à me situer entre CHARSET et COLLATION) ma commande (http://dev.mysql.com/doc/refman/5.0/fr/alter-table.html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE maTable CHARACTER SET charset_name [COLLATE collation_name]
    ...sans préciser le COLLATE convertit le contenu de l'ensemble des colonnes de ma table ET la collation devient la collation par défaut associée que je peux vérifier par votre requête.
    Je vois en effet que dans la liste des informations ne figure pas le CHARSET auquel on ne peut accéder que par cet intermédiaire, sachant qu'au final les données renvoyées par le serveur dépendent du <character_set_result>

    J'avoue me perdre un peu dans tout ce mécanisme.
    Mais en pratique il semble que ma config actuelle fonctionne comme je le souhaite, et je crois que je vais m'en tenir là !

Discussions similaires

  1. Recherche des dépendances des modules
    Par slowpoke dans le forum Mandriva / Mageia
    Réponses: 9
    Dernier message: 11/12/2003, 08h49
  2. Priorité de recherche des DLLs
    Par patapetz dans le forum Windows
    Réponses: 3
    Dernier message: 10/09/2003, 18h44
  3. Recherche des exemple d'utilisation
    Par lemme dans le forum Merise
    Réponses: 2
    Dernier message: 26/02/2003, 13h00
  4. recherche des algorythmes pour images 2d
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/05/2002, 13h46
  5. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

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