当echountering特殊字符时,Mysql行导入停止

时间:2013-03-02 15:17:43

标签: mysql import phpmyadmin export

我遇到了类似的问题,就像下面的那个问题一样。但是解决方法发现我没有选择。

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    

1 个答案:

答案 0 :(得分:0)

Oke,连接可能有问题,但改变这种情况并不是我的权力。

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