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

C# Discussion :

Executer un script MySQL avec des accents


Sujet :

C#

  1. #1
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 703
    Points : 5 319
    Points
    5 319
    Par défaut Executer un script MySQL avec des accents
    Bonjour,

    J'ai au souci pour exécuter un script MySQL avec des accents.
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    using (MySqlConnection connection = new(connectionString))
    {
        connection.Open();
     
        using (MySqlCommand dropDatabaseCommande = new("DROP DATABASE IF EXISTS easybdd", connection))
        {
            dropDatabaseCommande.ExecuteNonQuery();
        }
     
        // Ceci créé des enregistrement avec des "?" à la place des caractères accentués.
        // Le même script exécuté dans Workbench fonctionne
        MySqlScript script = new(connection, content);
        script.Execute();
     
     
        // Ceci créé des enregistrement avec des "?" à la place des caractères accentués.
        //using (MySqlCommand createDatabaseCommande = new(content, connection))
        //{
        //    createDatabaseCommande.ExecuteNonQuery();
        //}
     
     
        // Ceci fonctionne si j'ai exécuté le script de création dans Workbench mais pas si je l'ai exécuté depuis le programme C#.
        using (MySqlCommand updateCommand = new MySqlCommand("UPDATE easybdd.client_app_account SET designation = @designation WHERE id_client_app_account = 11", connection))
        {
            updateCommand.Parameters.AddWithValue("@designation", "Régis");
            updateCommand.ExecuteNonQuery();
        }
     
    }

    Le script de création en question :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    -- MySQL dump 10.13  Distrib 5.7.14, for Win64 (x86_64)
    --
    -- Host: localhost    Database: easybdd
    -- ------------------------------------------------------
    -- Server version	5.7.14-log
     
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE='+00:00' */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
     
    --
    -- Current Database: `easybdd`
    --
     
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `easybdd` /*!40100 DEFAULT CHARACTER SET latin1 */;
     
    USE `easybdd`;
     
    --
    -- Table structure for table `client_app_account`
    --
     
    DROP TABLE IF EXISTS `client_app_account`;
    /*!40101 SET @saved_cs_client     = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `client_app_account` (
      `id_client_app_account` bigint(20) NOT NULL AUTO_INCREMENT,
      `designation` varchar(250) DEFAULT NULL,
      `login` varchar(50) DEFAULT NULL,
      `password` varchar(50) DEFAULT NULL,
      `etat_connexion` tinyint(1) DEFAULT NULL,
      `date_derniere_modif` datetime DEFAULT NULL,
      `params_impression_dossier` varchar(25) DEFAULT NULL,
      `nom` varchar(50) DEFAULT NULL,
      `adresse` varchar(150) DEFAULT NULL,
      `code_postal` varchar(50) DEFAULT NULL,
      `ville` varchar(50) DEFAULT NULL,
      `telephone` varchar(50) DEFAULT NULL,
      `fax` varchar(50) DEFAULT NULL,
      PRIMARY KEY (`id_client_app_account`),
      UNIQUE KEY `id` (`id_client_app_account`),
      UNIQUE KEY `id_client_app_account` (`id_client_app_account`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1888 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
    /*!40101 SET character_set_client = @saved_cs_client */;
     
    --
    -- Dumping data for table `client_app_account`
    --
     
    LOCK TABLES `client_app_account` WRITE;
    /*!40000 ALTER TABLE `client_app_account` DISABLE KEYS */;
    INSERT INTO `client_app_account` (`id_client_app_account`, `designation`, `login`, `password`, `etat_connexion`, `date_derniere_modif`, `params_impression_dossier`, `nom`, `adresse`, `code_postal`, `ville`, `telephone`, `fax`) VALUES (11,'Paulo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(60,'Cabinet Accentué','555',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
    /*!40000 ALTER TABLE `client_app_account` ENABLE KEYS */;
    UNLOCK TABLES;

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 703
    Points : 5 319
    Points
    5 319
    Par défaut
    A peine ai-je écrit le message que je vois la boulette dans mon code.
    j'ai demandé latin1 au lieu de utf8 dans ma chaine de connexion.

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

Discussions similaires

  1. Script bash avec des variables mysql en boucle
    Par lorenzo8769 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 02/11/2015, 21h24
  2. Mauvais tri des String avec des accents
    Par lbreuillard dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/09/2005, 12h21
  3. Recherche avec des accents!?
    Par mona dans le forum Access
    Réponses: 3
    Dernier message: 14/06/2005, 20h36
  4. execution d'un prog avec des fichiers multi-class
    Par Ice-B dans le forum Général Java
    Réponses: 2
    Dernier message: 05/08/2004, 11h43
  5. Script SQL avec des EXIT SQL.SQLCODE
    Par fidififouille dans le forum Oracle
    Réponses: 14
    Dernier message: 23/04/2004, 16h45

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