0

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

欧元符号打破了mysql插入过程

我正在为朋友迁移一些数据,我无法访问服务器或 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    
4

1 回答 1

0

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

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

于 2013-03-02T23:27:15.580 回答