2017-02-06 1 views
0

J'ai récemment déposé une base de données dans le cadre de la migration d'un ancien serveur vers un nouveau serveur. Certaines des tables ont le jeu de caractères utf8mb4 comme classement par défaut et comme jeu de caractères pour certains des champs.Avertissements "chaîne de caractères utf8mb4 non valide" sur les champs POINT lors de l'importation à partir d'un mysqldump

L'une des tables comporte également un champ de type POINT. Lorsque j'exécute mysqldump --default-character-set=utf8mb4 ... > dump.sql puis que j'essaie d'importer dump.sql, j'obtiens l'avertissement "Chaîne de caractères utf8mb4 non valide" pour toutes les lignes dont l'emplacement est défini dans le champ POINT.

Dois-je m'inquiéter à ce sujet? Il me semble que les données sont migrées correctement, mais je n'aime pas voir les avertissements!

EDIT: Exemple de code et comment le reproduire. Ce qui suit est la sortie de mysqldump sans options spéciales (l'ajout de l'option de jeu de caractères utfmb4 par défaut n'a pas aidé), sur un exemple de table d'un exemple de base de données. La table a une ligne:

/*!40101 SET NAMES utf8mb4 */; 
/*!40103 SET TIME_ZONE='+00:00' */;  
/*!40101 SET character_set_client = utf8mb4 */; 

CREATE TABLE `Items` (
    `ID` int(11) NOT NULL AUTO_INCREMENT, 
    `Title` varchar(255) CHARACTER SET utf8mb4 NOT NULL, 
    `LatLong` point NOT NULL,  
    PRIMARY KEY (`ID`),  
    SPATIAL KEY `LatLong` (`LatLong`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; 

INSERT INTO `Items` VALUES (1,'item1','\0\0\0\0\0\0\[email protected]\[email protected]?V?'); 

Si vous fuyez avec MySQL source file.sql sur le fichier contenant ce SQL que vous obtenez les avertissements suivants sur l'insert:

Query OK, 1 row affected, 1 warning (0.00 sec) 
Warning (Code 1300): Invalid utf8mb4 character string: 'BE141E' 

Informations complémentaires:

> file -i file.sql 
file.sql: application/octet-stream; charset=binary 

> mysql --version 
mysql Ver 14.14 Distrib 5.7.17, for Linux (i686) using EditLine wrapper 

Exécution d'Ubuntu 16.04 LTS

+0

Étrange. Pouvez-vous nous montrer un exemple de ce qui se trouve dans le fichier de vidage? –

+0

J'ai mis à jour le poste avec un exemple de vidage. –

Répondre

0

Je pense que c'est un autre symptôme de https://bugs.mysql.com/bug.php?id=80150. - Guilhem (MySQL dev chez Oracle)

+0

Seules les réponses de type lien sont rarement acceptées dans SO. – VTodorov

+0

Bien que ce lien puisse répondre à la question, les réponses de lien seulement sont déconseillées sur Stack Overflow, vous pouvez améliorer cette réponse en prenant des parties vitales du lien et en l'insérant dans votre réponse, ceci assure que votre réponse est toujours une réponse. changé ou supprimé :) Aussi votre signature à la fin sera probablement éditée – WhatsThePoint