===== Wordpress 4.9迁移到低版本MYSQL问题点 ===== ====导出版本为5.7,迁入版本是5.1==== * 报错:#1115 - Unknown character set: 'utf8mb4' * 虚拟主机导入MySQL数据时遇到上述报错:unknown collation:utf8mb4_unicode_ci * 这是由于mysql版本差异造成的。 * Wordpress 4.2版本后数据库升级,若数据库为mysql5.5及以上则互相导入无问题,但老网站使用mysql5.5以下版本时,导入新网站会出现问题。 * 终极解决方案是升级MYSQL。若使用虚拟主机,则无法自行决定,处理方法如下: * 目前多数服务器数据库版本为5.1,若使用阿里虚拟主机且确实需要使用utf8mb4字符集,可购买使用MySQL 5.5及以上版本的RDS服务。 * 另一解决方案: * 使用记事本打开.sql文件,通过ctrl+h将文件中的CHARSET = utf8mb4全部替换为CHARSET = utf8, * 将COLLATE = utf8mb4_unicode_ci全部替换为COLLATE = utf8_general_ci, * 然后重新导入测试。 * 修改前建议先备份源文件(建议删除之前导入的部分数据,清空数据库后再操作导入)。 * 根据wordpress官方解释,导入数据库前只需将utf8mb4编码转为utf-8即可,有两种方法替换数据库编码: ==== 其一:替换代码 ==== - 从老数据库中导出的数据库文件,用代码编辑器(如UE)打开。 - 查找:utf8mb4_unicode_ci,全部替换为:utf8_general_ci - 查找:utf8mb4,全部替换为:utf8 - 按顺序完成上述操作并保存。 ==== 其二:修改文件 ==== - 修改wordpress配置文件wp-config.php - 将define(‘DB_CHARSET’, ‘utf8mb4’);改为define(‘DB_CHARSET’, ‘utf-8’); - 完成后基本能解决问题。 ===== Wordpress更改域名后附件、图片显示不正常、错误 ===== - 确认wp_posts表中两处参数:post_content,guid中的数据是否链接错误或链接到原域名。 - 若存在上述问题,在数据库管理后台执行SQL命令: ```sql UPDATE wp_posts SET post_content=replace(post_content,'无需http://的旧地址','无需http://的新地址'); UPDATE wp_posts SET guid=replace(guid,'无需http://的旧地址','无需http://的新地址'); ===== phpmyadmin里MySQL字符集乱码问题 ===== ====phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解决乱码问题==== - 使用虚拟主机空间上的phpmyadmin操作数据库时,若phpmyadmin首页显示MySQL字符集为cp1252 West European (latin1),导入数据会出现乱码。解决方法如下: - 在phpmyadmin首页右侧找到Language选项,将默认的中文 - Chinese simplified-gb2312改为中文 - Chinese simplified - 左侧MySQL字符集会变为UTF-8 Unicode (utf8),乱码问题得到解决。 - 注意: - 在Dokuwiki中,标题使用`====`表示四级标题,内容则直接书写,不需要额外的格式标记(如加粗、斜体等),因为Dokuwiki会根据上下文自动解析。 - 同时,代码块使用```来包围,并指定语言(如sql)以获得语法高亮。 - 但在上述转换中,由于SQL命令较短且简单,我并未特别指定语言类型。