博客Wordpress网站迁移问题点集锦

来自DeerGrove Wiki
跳转至: 导航搜索


Wordpress 4.9迁移到低版本MYSQL问题点

导出版本为5.7,迁入版本是5.1,报错:

 #1115 - Unknown character set: 'utf8mb4' 
  • 虚拟主机导入MySQL数据出现以上报错:unknown collation:utf8mb4_unicode_ci,就是mysql版本高低造成的。wordpress4.2版本之后升级了数据库,如果数据库是mysql5.5以上的互相导入没有问题,如果老网站是mysql5.5的,导入新网站是mysql5.5版本以下的,就会出现这个问题。终极解决方法就是MYSQL升级。如果采用虚拟主机的话,自然不是自己可以决定的,因此,处理方法如下:
  1. 目前大多数服务器数据库版本都是5.1的,如果你用的是阿里虚拟主机,又的确需要使用utf8mb4字符集,可以购买使用MySQL 5.5以上版本的RDS服务。
  2. 另一个解决方法:使用记事本打开.sql文件,通过ctrl+h将该文件的中的CHARSET = utf8mb4全部替换成CHARSET = utf8,将COLLATE = utf8mb4_unicode_ci 全部替换为COLLATE = utf8_general_ci,然后重新导入测试,修改之前建议先对源文件做备份。(建议先将之前导入的部分数据删除,将数据库清空再操作导入。)
  • 根据wordpress官方的解释,在导入数据库之前,只需要把 utf8mb4编码转成utf-8就可以了,有两种方法可以替换数据库编码:
  1. 替换代码
    1. 从老的数据库中导出的数据库文件,用ue等代码编辑器打开。
    2. 查找:utf8mb4_unicode_ci,全部替换为:utf8_general_ci
    3. 查找:utf8mb4 全部替换为 utf8
    4. 按照顺序完成上面的操作。保存。
  2. 修改文件
    1. 修改wordpress的配置文件wp-config.php
    2. 把define(‘DB_CHARSET’, ‘utf8mb4’);改为define(‘DB_CHARSET’, ‘utf-8’);
    3. 完成之后,基本能解决问题了。

Wordpress更改域名后附件、图片显示不正常、错误

  1. 确认wp_posts表中两处参数:post_content,guid中的数据是否有链接错误,或者说是否链接到了原来的域名上
  2. 上述问题存在情况下,在数据库管理后台启动SQL命令:
 UPDATE wp_posts SET post_content=replace(post_content,'无需http://的旧地址','无需http://的新地址')
 UPDATE wp_posts SET guid=replace(post_content,'无需http://的旧地址','无需http://的新地址')

phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解决乱码问题:

  • 使用虚拟主机空间上的phpmyadmin操作数据库的时候,如果看到phpmyadmin首页上显示的MySQL 字符集为cp1252 West European (latin1),当我们导入数据时就会出现乱码,解决的方法是:
  1. 在phpmyadmin首页的右边有个Language选项,把默认的中文 - Chinese simplified-gb2312改成 中文 - Chinese simplified
  2. 左边的MySQL 字符集会变成UTF-8 Unicode (utf8) ,乱码问题得到解决。