Não é possível importar localmente o banco de dados SQL codificado em UTF-8 no Mac

23

Eu estava importando um banco de dados SQL codificado em UTF-8 confirmado para o Sequel Pro no Mac e recebi esse erro no meio do caminho:

Ocorreu um erro ao ler o arquivo, pois ele não pôde ser lido na codificação selecionada (Detecção Automática - Unicode (UTF-8)).

Apenas 1273 consultas foram executadas.

Isso ocorre porque o arquivo de banco de dados era originalmente de uma máquina Windows e suas quebras de linha enchiam as coisas?

Eu imagino que receberei esse erro mesmo se eu tentasse enviar o mesmo banco de dados por transferência de arquivos para um servidor. Como posso corrigir a codificação?

-- 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 `******`
--
smokerockspunchcops
fonte
Que texto causou o problema?
Rick James
não disse, mas meu palpite é um codificado quebra de linha janelas
smokerockspunchcops
Salvar o arquivo no bloco de notas tem codificação opção no bottom.open o arquivo no bloco de notas no Windows e salvá-lo como formato utf-8 e tente carregá-lo em MySQL
Nawaz Sohail
Então o arquivo não é real utf-8? Se eu estiver em um Mac, posso fazer o mesmo com o visualizador de texto padrão para corrigi-lo.
Smokerockspunchcops
Como Nawaz escreveu acima, abra o arquivo em um editor de texto (usei o TextWrangler no Mac) e salve novamente no formato utf-8.
Jojje

Respostas:

52

Com base nesta postagem do blog

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

Ao importar o dump do banco de dados, você precisa selecionar Western (Mac OS Roman) como o formato de codificação para o arquivo a ser importado sem problemas.

liangzan
fonte
1
Alguém sabe por que isso funciona? Eu realmente gostaria de saber qual problema existia com o UTF-8 (ou qual problema com o Windows) que não me deixou importar originalmente.
Douglas.Sesar
1
Obrigado, isso também funciona para despejos do MySQL que são gerados no CentOS.
9287 Alex
Confirmo que isso funciona no MacOS High Sierra 10.13.6. Obrigado @liangzan
Ahmad Mushtaq
Isso funciona com o Sequel Pro (Nightly) no Mojave também
Urs
Isso funcionou corretamente para um dump do MySQL que se originou no Linux / Mysql e precisava ser importado pelo SSH para um banco de dados MariaDB 10. Obrigado.
HongPong 11/09