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

PHP & Base de données Discussion :

Différence entre encodage des données et des tables ?


Sujet :

PHP & Base de données

  1. #1
    Membre averti Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Points : 401
    Points
    401
    Par défaut Différence entre encodage des données et des tables ?
    Suite à ce sujet (resté sans réponses), j'aimerais savoir si je ne fait pas fausse route.

    J'était en ISO, j'ai tout converti en UTF8, exemple de table.
    CREATE TABLE `news` (
    `news_id` int(11) NOT NULL auto_increment,
    `news_date` datetime NOT NULL default '0000-00-00 00:00:00',
    `news_type` varchar(10) collate utf8_bin NOT NULL,
    `news_titre` varchar(255) collate utf8_bin NOT NULL default '',
    `news_text` longtext collate utf8_bin NOT NULL,
    `news_auteur` varchar(255) collate utf8_bin NOT NULL default '',
    PRIMARY KEY (`news_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    MySQL charset: UTF-8 Unicode (utf8) et MySQL connection collation en utf8_unicode_ci mais mes anciennes données de ma BDD s'affiche toujours avec � sauf les nouvelles données inséré.

    Si je fait un mysql_query("SET NAMES 'utf8'"); après mysql_select_db, les anciennes données et les nouvelles insérés sont correctement affiché. Sauf les données inséré après la convertion et avant SET NAMES 'utf8'.

    Les données de ma table sont bien en ISO ? est il possible de les convertir ? Je suis condamnée à utiliser SET NAMES 'utf8' ?

  2. #2
    Membre actif
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2007
    Messages : 199
    Points : 291
    Points
    291
    Par défaut
    Je pense qu'il est important de lire cette documentation :

    http://dev.mysql.com/doc/refman/5.0/...cter-sets.html

    Et ensuite :

    Si vraiment tu n'arrives pas à convertir convenablement les données que tu as déjà en
    tables, tu peux essayer de faire un dump SEULEMENT de tes données et d'utiliser le programme "iconv" qui existe sous Linux/Unix. (Peut être existe t-il aussi sous windows)

    Je viens seulement de lire ton précédent post sur ce sujet, je te confirme que l'utilisation de iconv est une bonne solution pour convertir de LATIN1 vers UTF8
    (Voir iconv --list)

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/08/2014, 09h25
  2. Réponses: 8
    Dernier message: 19/12/2013, 08h18
  3. Typage des données/manipulation des données
    Par Moravski dans le forum GTK+ avec C & C++
    Réponses: 25
    Dernier message: 28/01/2011, 19h00
  4. concatenation des données d'une table dans une autre
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/10/2004, 11h38
  5. Copie des données d'une table d'une base Interbase 6
    Par Djedjeridoo dans le forum InterBase
    Réponses: 6
    Dernier message: 02/02/2004, 09h39

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