我们有一个Joomla网站,我们希望将其复制到另一个主机网站。到目前为止,除数据库外,所有内容都已被复制。我们遇到的问题如下:
将我们旧网站的数据库信息导出到.sql文件并尝试将其导入我们新主机上的空数据库后,网站上的文本(内容)似乎在各个点上都会中断。我发现这是因为文本中的单引号'
,例如"You're welcome"
。它只代表You
而不是那两个字。我知道引号会破坏SQL查询(比如在SQL注入中),但是如何才能正确导入数据库呢?或者我是否必须先改变导出方式?
我们正在使用phpMyAdmin导出(并导入)我们的信息。
答案 0 :(得分:2)
我意识到这是一个老帖子,但是对于查找/替换也有一个相当简单的解决方案。
如果您使用支持正则表达式查找/替换的文本编辑器(我使用Sublime Text 2),您可以快速地将某些内容放在一起以匹配模式。这可能不适用于所有数据,但在我遇到此问题的情况下,它对我有用。
您需要搜索:
(\w)'(\w)
并替换为:
$1\\'$2
这将找到任何单词引号和单词旁边的单词字符,并替换为转义版本。在大多数情况下,我处理的问题是文本与英语收缩,所以这适用于这种情况。它可能不适用于您的情况。
答案 1 :(得分:0)
我遇到了同样的事情,我认为这是phpMyadmin导出功能中的一个错误。由于您无法进行简单的搜索和替换以逃避引号,因此我知道清理转储没有好办法。
然而,有一个非常简单的解决方案。当您需要移动网站时,请使用JoomlaPack(现在称为Akeeba Backup)。它将整个站点和数据库打包成一个漂亮的整齐ZIP文件,它包含一个快速安装程序。移动整个网站并启动并运行不应超过几分钟。
http://extensions.joomla.org/extensions/access-a-security/site-security/backup/1606