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 :

Conversion de iso-8859-2 à UTF-8


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 158
    Points : 69
    Points
    69
    Par défaut Conversion de iso-8859-2 à UTF-8
    Bonjour,

    je récupère des textes en iso-8859-2 dans ma BDD, certains codés en binaire.
    Je voudrais les convertir en UTF-8 pour les importer dans une autre BDD

    Comment puis-je faire???

    merci
    phoque.r

  2. #2
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Premièrement, les binaires ne tiennent pas compte du charset à ce que je sache.
    On peut utiliser iconv sous linux pour convertir un fichier de texte d'un charset à un autre.
    Sinon, on peut le faire en php grâce à l'extension iconv :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function convertFromIsoToUtf($path_input, $path_output) {
      $handle_source = @fopen($path_input, "r");
      $handle_destination = @fopen($path_output, "w+");
      if ($handle_source && $handle_destination) {
      	 while (!feof($handle_source)) {
          $buffer = iconv("ISO-8859-2", "UTF-8", fgets($handle_source));
          fwrite($handle_destination, $buffer);
      	 }
      	 fclose($handle_source);
      	 fclose($handle_destination);
      } else {
    		return false;
    	}
    }
    Ensuite, il suffira de remplacer les charsets spécifiés dans le dump.
    Toutefois, je pense que MySQL peut gérer la conversion, quelqu'un peut-il nous éclaircir ce point s'il-vous-plaît ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 158
    Points : 69
    Points
    69
    Par défaut
    Merci toujours pour cette réponse, je vais tester ça dans la journée

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 158
    Points : 69
    Points
    69
    Par défaut
    Cette méthode ne fonctionne pas totalement.

    Bizarrement, les caractères français tels que é ou ê apparaissent normalement, mais les caractères polonais tels que ś, ć et autres ł (pour ne citer qu'eux) ne fonctionnent pas.

    Qui aurait une autre idée???

    merci

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    868
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 868
    Points : 1 022
    Points
    1 022
    Par défaut
    Le problème c'est qu'ils peuvent très bien avoir été correctement unicodés, mais que la police de caractères utilisées, elle peut ne pas avoir incorporé ces glyphes. Donc première question à se poser : est-tu sûr que la police de caractères utilisées comprend bien ces caractères polonais ?

Discussions similaires

  1. Encodage ISO-8859-1/UTF-8 par défaut
    Par mirabelle54 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 24/09/2012, 15h09
  2. [PHP 5.3] Cherche fonction conversion interclassement (ISO-8859-1 -> UTF-8)
    Par clement106 dans le forum Langage
    Réponses: 2
    Dernier message: 10/09/2011, 22h54
  3. [PHP 5.2] Encodage ISO-8859-1 - UTF-8
    Par Shirraz dans le forum Langage
    Réponses: 9
    Dernier message: 04/05/2009, 09h07
  4. Migration ISO-8859-1 -> UTF-8
    Par HurtMarley dans le forum SQL
    Réponses: 7
    Dernier message: 02/11/2007, 09h09
  5. conversion iso-8859-1 => UTF-8 (unicode)
    Par pierru666 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/05/2006, 22h17

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