Nie można lokalnie zaimportować bazy danych SQL zakodowanej w UTF-8 na komputerze Mac


23

Zaimportowałem potwierdzoną bazę danych SQL zakodowaną w UTF-8 do Sequel Pro na Macu i zostałem zgłoszony ten błąd w połowie:

Wystąpił błąd podczas odczytu pliku, ponieważ nie można go odczytać w wybranym kodowaniu (Autodetekcja - Unicode (UTF-8)).

Wykonano tylko 1273 zapytań.

Czy to dlatego, że plik bazy danych był pierwotnie z komputera z systemem Windows i jego łamanie linii upchnęło sprawę?

Wyobrażam sobie, że dostanę ten błąd, nawet jeśli spróbuję wysłać tę samą bazę danych za pośrednictwem transferu plików na serwer, więc jak mogę naprawić to kodowanie?

-- 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 `******`
--

Jaki tekst spowodował problem?
Rick James,

nie powiedziałem, ale domyślam się, że przerwa w linii jest zakodowana w systemie Windows
smokerockspunchcops

Zapisywanie pliku w notatniku ma opcję kodowania na dole. Otwórz plik w notatniku w systemie Windows i zapisz go w formacie utf-8, a następnie spróbuj załadować go do MySQL
Nawaz Sohail

Więc plik nie jest prawdziwy utf-8? Jeśli korzystam z komputera Mac, mogę to zrobić z domyślną przeglądarką tekstu, aby to naprawić?
smokerockspunchcops

Jak napisał Nawaz powyżej, otwórz plik w edytorze tekstu (użyłem TextWrangler na Macu) i ponownie zapisz jako format utf-8.
Jojje

Odpowiedzi:


52

Na podstawie tego postu na blogu

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

Podczas importowania zrzutu bazy danych musisz wybrać format zachodni (Mac OS Roman) jako format kodowania pliku, który chcesz zaimportować bez problemu.


1
Czy ktoś wie, dlaczego to działa? Naprawdę chciałbym wiedzieć, jaki problem istniał z UTF-8 (lub jaki problem z Windows), który nie pozwolił mi zaimportować pierwotnie.
Douglas.Sesar

1
Dzięki, działa to również w przypadku zrzutów MySQL generowanych w CentOS.
Alex

Potwierdzam, że działa na MacOS High Sierra 10.13.6. dzięki @liangzan
Ahmad Mushtaq

Działa to również z Sequel Pro (Nightly) na Mojave
Urs

Działa to poprawnie dla zrzutu MySQL, który powstał na Linux / Mysql i musiał zostać zaimportowany przez SSH do bazy danych MariaDB 10. Dzięki.
HongPong
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.