Không thể nhập cục bộ cơ sở dữ liệu SQL được mã hóa UTF-8 trên máy Mac


23

Tôi đã nhập cơ sở dữ liệu SQL được mã hóa UTF-8 đã xác nhận vào Sequel Pro trên Mac và đã gặp phải lỗi này giữa chừng:

Đã xảy ra lỗi khi đọc tệp vì không thể đọc được mã hóa mà bạn đã chọn (Tự động phát hiện - Unicode (UTF-8)).

Chỉ có 1273 truy vấn được thực hiện.

Đây có phải là vì tệp cơ sở dữ liệu ban đầu là từ một máy tính Windows và nó đã phá vỡ mọi thứ?

Tôi tưởng tượng tôi sẽ gặp lỗi này ngay cả khi tôi đã cố gắng gửi cùng một cơ sở dữ liệu qua chuyển tập tin đến một máy chủ để làm cách nào để sửa lỗi mã hóa?

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

Văn bản nào gây ra vấn đề?
Rick James

không nói nhưng tôi đoán là một cửa sổ được mã hóa phá vỡ
smokerockspunchcops

Lưu tệp trong notepad sẽ có tùy chọn mã hóa ở phía dưới. Mở tệp trong notepad trên windows và lưu dưới định dạng utf-8 và sau đó thử tải nó vào MySQL
Nawaz Sohail

Vì vậy, tập tin không phải là utf-8 thực sự? Nếu tôi ở trên máy Mac, tôi có thể làm điều tương tự với trình xem văn bản mặc định của nó để sửa lỗi không?
hút thuốc lá

Như Nawaz đã viết ở trên, hãy mở tệp trong trình soạn thảo văn bản (tôi đã sử dụng TextWrangler trên Mac) và lưu lại dưới định dạng utf-8.
Jojje

Câu trả lời:


52

Dựa trên bài đăng trên blog này

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

Khi nhập kết xuất cơ sở dữ liệu của bạn, bạn cần chọn Western (Mac OS Roman) làm định dạng mã hóa cho tệp để nhập mà không gặp sự cố.


1
Có ai biết tại sao điều này làm việc? Tôi thực sự muốn biết vấn đề nào tồn tại với UTF-8 (hoặc vấn đề gì với Windows), điều đó không cho phép tôi nhập ban đầu.
Douglas.Sesar

1
Cảm ơn, điều này cũng hoạt động đối với các bãi chứa MySQL được tạo trên CentOS.
Alex

Tôi xác nhận điều này hoạt động trên MacOS High Sierra 10.13.6. cảm ơn @liangzan
Ahmad Mushtaq

Điều này hoạt động với Sequel Pro (Nightly) trên Mojave
Urs

Điều này hoạt động chính xác cho một kết xuất MySQL có nguồn gốc từ Linux / Mysql và cần được nhập qua SSH vào cơ sở dữ liệu MariaDB 10. Cảm ơn.
HongPong
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.