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

Administration MySQL Discussion :

Import fichier sql en UTF8


Sujet :

Administration MySQL

  1. #1
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 77
    Points : 86
    Points
    86
    Par défaut Import fichier sql en UTF8
    Bonjour a tous,

    Je traduis une application en multilangue dont le russe
    J'ai donc générer un fichier MAJ.sql qui comporte plein d'UPDATE du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE etatcouvertures SET `namefr` = 'A faire',`nameen` = 'To make',`namees` = 'Al hacer',`namept` = 'Fazer',`namesk` = 'Ak chcete',`nameru` = '<Carac-Russe>' WHERE etatcouvertures.`id` =1;
    Ce fichier a été enregistré en format UTF8 pour ne pas perdre les caractères russe et Slovaque.

    En passant par phpmyadmin sur ma machine de test aucun problème.
    Sur ma machine de prod je dois passer la mise a jour par ligne de commande.( N'ayant pas acces a phpmyadmin)

    Quand je lance la requete, il me met une erreur sur la ligne 1 et me fait apparaitre un caractère bizarre au tout debut de la ligne ( caractère qui ne se voit pas avec vi mais qui apparait si je fais un more sur le fichier)

    J'ai donc essayé en enregistrant le fichier MAJ.sql au format UNICODE : pareil un caractère bizarre est positioner au debut de ma première ligne.

    J'ai donc essayé en enregistrant le fichier MAJ.sql au format ANSII, la je n'ai plus l'erreur en ligne de commande par contre j'ai forcément perdu mes caractères russe et slovaque ( remplacés par des ?????).

    Savez vous comment je peux faire pour passer un fichier enregistré en UTF8 en ligne de commande. Je ne vais pas passer les UPDATE un par un car dans certaine table j'ai plus de 18000 enregistrements.

    Merci d'avance
    Bonne journée
    Sandrine

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Le serveur est sous quel système d'exploitation ?
    Il faut peut-être changer la table de caractères par défaut locale pour que l'UTF8 soit correctement interprété.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 77
    Points : 86
    Points
    86
    Par défaut
    Alors ma machine de prod est sous SUZE
    Mysql 5.0

    Concernant l'UTF8 il est très bien interpreter, car d'autre application possèdent déja le russe sur cette machine. Les base de données mysql sont déja en UTF8.

    Le probleme que j'ai c'est qu'en ligne de commande le mysql ne veut pas executer un fichier coder(enregistrer) en utf8, il détecte l'uTF8 et ajoute donc un caractère bizarre au tout debut du fichier.
    Il faudrait juste que :
    - soit j'arrive a virer ce caractère bizarre ( et je sais pas comment).
    - soit trouver une manière d'avoir les caractères russe dans un fichier ANSII.
    - soit lui dire d'executer a partir de la ligne 2 ( comme ca en ligne 1 je met une ligne vide)

    Que je mette n'importe quelle commande SQL sur la 1ere ligne du fichier utf8 ca bloque a cause de ce caractère bizarre.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Regarde de ce côté là si tu peux trouver une piste pour résoudre le problème.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 77
    Points : 86
    Points
    86
    Par défaut
    Bon alors apres une bonne journée de combat avec mon fichier sql j'ai trouver une solution.

    Pour ceux qui aurait le même soucis:
    - Enregistrer le fichier .sql en utf8 ( pour garder les caractères russes)
    - Ouvrir le fichier .sql avec une bon editeur hexadecimal ( j'ai pris UltraEdit car mes essais avec le bloc note, notepad++, eclipse, wordpad n'ont pas fonctionné, le caractère bizaroide restait non visible)
    - L'éditeur doit afficher le caractère bizaroide au tout début de la ligne 1
    - Le supprimer bettement via l'éditeur et enregistrer.
    - Renvoyer le fichier sur la machine

    Et la ca fonctionne, si je fais un vi ou un more je n'ai plus ce caractère bizaroide.
    et quand je lance ma commande mysql ........ elle ne bloque plus dessus

    Je pense qu'il doit egalement exister une solution en unix qui permette de supprimer ce caractère bizaroide, mais je n'ai pas assez de compétence dans le domaine.

    Merci CinePhil d'avoir essayer de me trouver une solution

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importation fichier SQL
    Par aure298 dans le forum Visual Studio
    Réponses: 1
    Dernier message: 15/07/2008, 23h25
  2. Importation fichier SQL ?
    Par Blaireau dans le forum Outils
    Réponses: 3
    Dernier message: 26/01/2007, 22h12
  3. importer fichier .SQL généré par mysql vers MSSqlServer 2005
    Par Themacleod1980 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2007, 15h49
  4. [importer fichier sql]
    Par maniolo dans le forum Oracle
    Réponses: 3
    Dernier message: 13/06/2006, 19h07
  5. Importation fichier .sql
    Par Mevil dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 20/04/2006, 11h48

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