Import dans BD MySQL

Résolu/Fermé
t671 Messages postés 1423 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 16 juillet 2024 - 12 mars 2012 à 19:22
t671 Messages postés 1423 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 16 juillet 2024 - 13 mars 2012 à 18:13
Bonjour,

Quand j'importe directement des données (fichier texte) dans ma base mysql, je perds les caractères spéciaux (é, è, ç, .....).
Pourquoi ?
Si cela vient des options de la table, comment les définirs ?

Merci.

4 réponses

Célien Messages postés 5729 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 9 septembre 2021 1 993
12 mars 2012 à 19:29
C'est pas le code caractère ?
0
Bonsoir,

Quand j'importe directement des données (fichier texte) dans ma base mysql

C'est à dire directement? Les bases de données ne fonctionnent qu'avec des requêtes(langage SQL avec des variantes suivant la base utilisée), donc à moins de copier coller votre texte dans les guillemets d'une requête de la console SQL ce n'est pas direct.

Comme dit Célien avez vous le bon interclassement(qui définit quel type de caractères vous utilisez-les allemands, les polonais, les américains, les suédois,... ayant tous un alphabet qui diffère sur certains caractères il faut y faire attention) ?
0
t671 Messages postés 1423 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 16 juillet 2024 11
13 mars 2012 à 09:35
Bonjour,

Ce que j'appelle "importer directement", c'est que j'exporte mes données d'une table (par exemple du serveur local) en SQL. Quand je fais éxécuter, phpmyadmin m'affiche les données au format texte. Je sélectionne le tout, je colle dans le bloc note et j'enregistre au format txt. Là, tous les caractères sont normaux.
Je vais sur un autre serveur (exemple Free), et pour importer les données, je séléctionne mon fichier txt.
Les caractères spéciaux sont remplacés par "?".

Si je vais dans l'onglet "opération" de phpmyadmin, l'option interclassement pour la table est "utf8_general_ci". Ca vient peut-être de cette option ?????
0
'est que j'exporte mes données d'une table (par exemple du serveur local) en SQL.
Donc ce n'est pas un fichier .txt mais un fichier .sql ce qui changes tout.

phpmyadmin m'affiche les données au format texte.
Faux phpmyadmin affiche le contenu de la base de données , le formatage n'existe pas à moins que vous l'ayez inclus. Le format texte est un fichier de type .txt

Je sélectionne le tout, je colle dans le bloc note et j'enregistre au format txt. Là, tous les caractères sont normaux.
Dans quel but? Une base de données sans automatisation du traitement c'est peu utile. Vous imaginez s'il y a 1000 textes par jour à copier coller dans un fichier texte? A quoi sert la base?

Je vais sur un autre serveur (exemple Free), et pour importer les données, je séléctionne mon fichier txt.
Les caractères spéciaux sont remplacés par "?".

Car le texte est formaté en format texte(.txt) et que ce formatage implique des caractères que ne comprend pas sql(c'est un peu la définition du formatage= mettre au format), pour avoir un texte formaté vous pouvez utiliser la fonction htmlentities à partir de variables en php(donc formaté en html).

Je vais sur un autre serveur (exemple Free), et pour importer les données, je séléctionne mon fichier txt.
Vous voulez dire quoi par là, vous essayez de mettre un fichier dans un champ prévu pour du texte? Un peu normal que ça ne marches pas, quel est le type du champ en question, mysql ne stockes pas de fichiers.


utf8_general_ci devrait être bon.
0
t671 Messages postés 1423 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 16 juillet 2024 11
13 mars 2012 à 18:01
Merci Bhurigan.
En fait, ce que je cherche à faire, c'est de recopier ma base qui se trouve sur FRee, en local.
Les définitions des tables et des champs sont indentiques.
Mais lors de ma manip, les caractères spéciaux sont remplacés par "?".

Comment dois-je m'y prendre pour éviter cela ?
0
t671 Messages postés 1423 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 16 juillet 2024 11
13 mars 2012 à 18:13
C'est bon Bhurigan ! J'ai compris ! Ca marche ............. ;o)

Merci et à ++
0