簡體   English   中英

mysql 命令行 - 大型 sql 文件 - 不正確的字符串值

[英]mysql command line - large sql file - incorrect string value

我有一個 350 Mb 的 mysql sql 文件,我正在嘗試針對我已確認訪問的遠程 MySQL 實例在本地運行。 我的命令是這樣的:

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql" -h camp****.com -u cam****aigns --password=Camp****** cam****igns < "E:\mypath\Camp****19-2020.sql"

它大多有效,但每 5000-10000 行左右,我就會遇到如下錯誤:

ERROR 1366 (HY000) at line 9320: Incorrect string value: '\xC3\xBD350 ...' for column 'Address1' at row 1

第 9320 行(可以看到特殊字符):

INSERT INTO `Contacts` VALUES (33413,390,'Jim','Hancock','ý350 E 100 N','','Hampton','UT','84050','2012-06-25 15:11:49');

我已經看到許多關於更改 ini/cnf 設置等的堆棧帖子。但是使這個 1 cmd-line 腳本執行工作的最簡單、最直接的方法是什么? 是否有我可以傳入的命令行參數,也許指定 UTF-8 或其他什么?

嘗試以下操作:

  • 使用 ";CharSet=utf8mb4;" 在連接字符串中。 我之前錯過了這個。 我正在使用“utf8”。

  • 將數據庫的默認字符集、表的默認字符集和所有列的字符集設置為“utf8mb4”

  • 將數據庫的默認排序規則、表的默認排序規則和所有列的排序規則設置為“utf8mb4_unicode_ci”

在這里閱讀更多

將此添加到我的 sql 腳本的頂部解決了它:

SET NAMES 'utf8';
SET CHARACTER SET utf8;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM