Bonjour tout le monde,
Le 19 Janvier, j'ai sauvegardé ma base par la commande "backup database as SQL dump" de SQL Yog.
Pour une des tables ça a donné ça :
Certains d'entre vous reconnaîtront peut-être cette table, elle est migrée de Adventure Workshops de Microsoft, il y en a quelques-unes comme ça.
Code : 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 CREATE TABLE `dbo_dimproductcategory` ( `ProductCategoryKey` int(11) NOT NULL AUTO_INCREMENT, `ProductCategoryAlternateKey` int(11) DEFAULT NULL, `EnglishProductCategoryName` varchar(100) NOT NULL, `SpanishProductCategoryName` varchar(100) NOT NULL, `FrenchProductCategoryName` varchar(100) NOT NULL, PRIMARY KEY (`ProductCategoryKey`), UNIQUE KEY `AK_DimProductCategory_ProductCategoryAlternateKey` (`ProductCategoryAlternateKey`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; /*Data for the table `dbo_dimproductcategory` */ insert into `dbo_dimproductcategory`(`ProductCategoryKey`,`ProductCategoryAlternateKey`,`EnglishProductCategoryName`,`SpanishProductCategoryName`,`FrenchProductCategoryName`) values (1,1,'Bikes','Bicicleta','Vélo'); insert into `dbo_dimproductcategory`(`ProductCategoryKey`,`ProductCategoryAlternateKey`,`EnglishProductCategoryName`,`SpanishProductCategoryName`,`FrenchProductCategoryName`) values (2,2,'Components','Componente','Composant'); insert into `dbo_dimproductcategory`(`ProductCategoryKey`,`ProductCategoryAlternateKey`,`EnglishProductCategoryName`,`SpanishProductCategoryName`,`FrenchProductCategoryName`) values (3,3,'Clothing','Prenda','Vêtements'); insert into `dbo_dimproductcategory`(`ProductCategoryKey`,`ProductCategoryAlternateKey`,`EnglishProductCategoryName`,`SpanishProductCategoryName`,`FrenchProductCategoryName`) values (4,4,'Accessories','Accesorio','Accessoire');
Un mois plus tard, après avoir refait la configuration, sur MySql 5.6 (je crois qu'il y a un mois c'était la même version ?) je restaure la base en ouvrant ce fichier SQL dans un éditeur de requêtes, et en l'exécutant.
Pour le texte anglais, aucun problème.
Mais le souci, c'est que quand on dit "INSERT INTO () VALUES ('Vélo')", MySql fait ... exactement ce qu'on lui dit, alors que le but est d'insérer Vélo.
Puisque MySql Workbench est devenu stable, j'ai essayé avec du côté restauration, ça fait pareil.
Le jeu de caractères par défaut de la base était Latin1 la dernière fois que j'ai installé MySql, c'était UTF8 cette fois, mais j'ai à nouveau essayé en précisant Latin1, pas mieux. De toute manière, les jeux de caractères sont précisés dans chaque table (il y a des différences pas nécessairement voulues d'une table à l'autre).
Au demeurant, le dump global de la base commence par ceci :
/*!40101 SET NAMES utf8 */;
La question est plus ou moins évidente j'imagine : suis-je condamné à corriger les caractères accentués un par un ? Pour cette table ça va aller assez vite, mais il y en a des plus étoffées.
Partager