Impossible d'importer localement la base de données SQL encodée UTF-8 sur Mac


23

J'importais une base de données SQL encodée UTF-8 confirmée dans Sequel Pro sur Mac et j'ai eu cette erreur à mi-chemin:

Une erreur s'est produite lors de la lecture du fichier, car il n'a pas pu être lu dans l'encodage que vous avez sélectionné (Détection automatique - Unicode (UTF-8)).

Seulement 1273 requêtes ont été exécutées.

Est-ce parce que le fichier de base de données provenait à l'origine d'une machine Windows et que les sauts de ligne ont bourré les choses?

J'imagine que j'obtiendrai cette erreur même si j'ai essayé d'envoyer la même base de données par transfert de fichiers à un serveur, alors comment puis-je corriger son encodage?

-- MySQL dump 10.13  Distrib 5.5.40-36.1, for Linux (x86_64)
--
-- Host: localhost    Database: *****
-- ------------------------------------------------------
-- Server version   5.5.40-36.1-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 */;

--
-- Table structure for table `******`
--

Quel texte a causé le problème?
Rick James

n'a pas dit mais ma supposition est un saut de ligne codé Windows
smokerockspunchcops

L'enregistrement du fichier dans le bloc-notes a une option d'encodage en bas. Ouvrez le fichier dans le bloc-notes sur Windows et enregistrez-le au format utf-8, puis essayez de le charger dans MySQL
Nawaz Sohail

Le fichier n'est donc pas un vrai utf-8? Si je suis sur un Mac, je peux faire la même chose avec son visualiseur de texte par défaut pour le réparer?
smokerockspunchcops

Comme Nawaz l'a écrit ci-dessus, ouvrez le fichier dans un éditeur de texte (j'ai utilisé TextWrangler sur Mac) et réenregistrez-le au format utf-8.
Jojje

Réponses:


52

Basé sur ce billet de blog

http://ilikekillnerds.com/2014/08/fixing-sequel-pro-sql-encoding-error-for-imported-sql-files/

Lors de l'importation de la sauvegarde de votre base de données, vous devez sélectionner Western (Mac OS Roman) comme format de codage pour le fichier à importer sans problème.


1
Est-ce que quelqu'un sait pourquoi cela fonctionne? J'aimerais vraiment savoir quel problème existait avec UTF-8 (ou quel problème avec Windows), qui ne m'a pas permis d'importer à l'origine.
Douglas.Sesar

1
Merci, cela fonctionne également pour les vidages MySQL générés sur CentOS.
Alex

Je confirme que cela fonctionne sur MacOS High Sierra 10.13.6. merci @liangzan
Ahmad Mushtaq

Cela fonctionne également avec Sequel Pro (Nightly) sur Mojave
Urs

Cela fonctionnait correctement pour un vidage MySQL qui provenait de Linux / Mysql et devait être importé via SSH dans une base de données MariaDB 10. Merci.
HongPong
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.