回显特殊字符时,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 行导入停止的主要内容,如果未能解决你的问题,请参考以下文章