Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/05/2011, 17h03   #1
 
Homme
Inscription : mai 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mai 2011
Messages : 14
Points : -3
Points : -3
Par défaut Mysql et l'encodage.

Bonjour,
je m'explique :
j'ai une macro qui me fabrique un fichier .txt (séparateur tabulation) sur excel. Ce fichier .txt est importé automatiquement dans la base de donnée.
Seulement, les caractères spéciaux ne sont pas pris en compte, j'ai droit à :
- ? en latin1
- "M" pour un mot comme Méchant en utf8.
Je sais qu'excel sort des fichier en ANSI, mais ils devraient être compatible en latin1.

J'ai essayé toute sorte de fonction, utf8_encode(), mb_convert_encoding(), combinaison de fwrite et de utf8_encode() ... sans aucun succès et je suis à court d'idée.
Le seul moyen qui fonctionne est de faire manuellement sur Notepad++ ...
Mais la base de donnée étant mise à jour quotidiennement, impossible de faire ceci manuellement.

Need help
Al PiGiNo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 10h37   #2
 
Homme
Inscription : mai 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mai 2011
Messages : 14
Points : -3
Points : -3
Trouvé tout seul.

Pour ceux qui ont le même problème :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
IF( !( $f = fopen( $fichier3, "r" ) ) ) {
    print "Ouverture du fichier ".$fichier3." impossible";
}
else {
    //Création d'un nouveau fichier3 vide
    touch( $nouveauFichier3 ) or die ("Impossible de créer le nouveau fichier" );
 
    //Ouverture du nouveau fichier vide en écriture    
    if( !( $newF = fopen( $nouveauFichier3, "a+" ) ) ) {
        print "Ouverture du fichier ".$nouveauFichier3." impossible";
    }
    else {
        //Tant qu'ON n'est pas lu tout le fichier d'origine...
        while( !feof($f) ) {
            //... ON récupère 1024 octets de ce fichier...
            $champ = fgets($f, 1024);
            //... ON les convertit en UTF-8...
            $modif = utf8_encode($champ);
            //... et ON colle la chaîne convertie dans le nouveau fichier.
            fwrite( $newF, $modif );
        }
        //Quand ON a fini de lire le premier fichier, ON ferme les deux fichiers.
        fclose($f);
        fclose($newF);
    }
}
Al PiGiNo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h24.


 
 
 
 
Partenaires

Hébergement Web