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

Langage PHP Discussion :

lire un csv pour l'envoyé dans une DBD


Sujet :

Langage PHP

  1. #21
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 905
    Points : 6 693
    Points
    6 693
    Par défaut
    Ah bah oui, mais ça c'est parce que laurentSc est parti avec un fichier déjà en utf-8, c'est pour ça qu'il a obtenu un "double encodage" en utf-8. Moi je parle du problème de départ, je ne cherche pas à détecter l'encodage du fichier, je sais déjà qu'il est en ISO-8859-1 ou ISO-8859-15 (on voit à la longueur des chaînes que le caractère inaffichable est sur 1 octet).

  2. #22
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 64
    Points
    64
    Par défaut
    Bonjour,
    IL existe une autre solution pour transformer une table encodée en latin1 ---> UTF8
    Elle est manuelle et plutôt réservée à peu de tables (plusieurs serait fastidieux) avec un nombre de lignes non astronomique

    Avec PHPmyAdmin:
    1- exporter une table encodée UTF8, l'afficher et l'imprimer pour voir comment elle est construite au niveau structure
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE `lieu` (
      `id` int(11) UNSIGNED NOT NULL,
      `nom` varchar(35) DEFAULT NULL,
      `img` varchar(200) NOT NULL,
      `valid` tinyint(1) UNSIGNED NOT NULL DEFAULT 1
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    2- prendre la table encodé Latin1 que l'on souhaite transformer en UTF8
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TABLE `categories` (
      `id` int(11) NOT NULL,
      `categorie` varchar(50) CHARACTER SET utf8 DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    3- faire une copie par sécurité
    4- exporter cette table avec méthode personnalisée UTF8 en SQL
    5-supprimer cette table avec phpmyadmin
    6- prendre la structure, la comparer avec la table 1, modifier les champs si besoin et surtout le CHARSET (CHARSET=latin1; ----> CHARSET=utf8
    7-coller la nouvelle structure dans le champ SQL de phpmyadmin
    8- coller ensuite les valeurs
    9- modifier les clefs si besoin ex: ALTER TABLE `ma_table` nom_clef PRIMARY KEY (`id`);

    Pour une BDD entière, il est possible de faire les changements avec un éditeur (rechercher - remplacer)
    Solution à réserver en localhost en sachant ce que vous faîtes vraiment et qui vous prendra certainement plusieurs heures

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/09/2013, 14h41
  2. Réponses: 2
    Dernier message: 20/02/2012, 09h29
  3. Réponses: 0
    Dernier message: 05/08/2011, 18h53
  4. Réponses: 1
    Dernier message: 08/09/2007, 17h12
  5. Réponses: 5
    Dernier message: 20/02/2007, 06h27

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