回显特殊字符时,Mysql 行导入停止

Posted

技术标签:

【中文标题】回显特殊字符时,Mysql 行导入停止【英文标题】:Mysql row import stops when echountering a special character 【发布时间】:2013-02-17 00:49:31 【问题描述】:

我遇到了与下面的问题类似的问题。但是解决方法发现我没有选择。

Euro symbol breaks mysql insertion process

我正在为朋友迁移一些数据,我无法访问服务器或 mysql shell,我必须导入多个数据库。

两台服务器都有 phpMyAdmin(源:3.4.10.1deb1,目标:3.5.3)但是如果我导出和导入一个 sql 文件(转储仍然可以),行导入将在特殊字符出现时立即停止即将插入,导致断弦。

我查过了,所有表都是utf8_general_ci源和目标,转储有/*!40101 SET NAMES utf8 */;

下面是变量,但除了会话和全局被翻转之外,我看不出有什么区别。知道出了什么问题,以及我如何(以及是否)可以使用有限的权限修复它?

Source:
character set client    utf8    
(Global value)  latin1  
 character set connection   utf8    
(Global value)  latin1  
 character set database latin1  
 character set filesystem   binary  
 character set results  utf8
(Global value)  latin1  
 character set server   latin1  
 character set system   utf8

Destination:
character set client    latin1  
(Sessionvariables)  utf8    
character set connection    latin1  
(Sessionvariables)  utf8    
character set database  latin1  
character set filesystem    binary  
character set results   latin1
(Sessionvariables)  utf8    
character set server    latin1  
character set system    utf8    

【问题讨论】:

phpmyadminmysql 连接怎么样?流程的每个阶段都必须是 utf8 不就是字符集客户端吗? (如果没有,我在哪里可以找到它?) 如果我直接在 phpMyAdmin 中输入转储的内容 -> SQL 它确实可以工作,所以文件上传出现问题Ï认为。 【参考方案1】:

好的,连接可能有问题,但我无权更改。

更简单的解决方案是导入 gzip 压缩(或其他压缩)文件,而不是常规 SQL 文件。压缩会更改特殊字符,因此它们不会在上传过程中中断。一旦在服务器上,一切都是 utf-8 并且插入按预期运行。

【讨论】:

以上是关于回显特殊字符时,Mysql 行导入停止的主要内容,如果未能解决你的问题,请参考以下文章

特殊字符未导入 mysql 数据库

使用带有特殊字符的批处理回显

使用 UTF-8 编码,具有特殊属性/外来字符的 CSV 文件在导入 MySQL (phpMyAdmin) 时不保留

vue中特殊字符转义

mysql 有几个特殊字符的函数

batBat 中特殊符号