is:系统安装及应用:wordpress问题点集锦

  • 报错:#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即可,有两种方法替换数据库编码:
  1. 从老数据库中导出的数据库文件,用代码编辑器(如UE)打开。
  2. 查找:utf8mb4_unicode_ci,全部替换为:utf8_general_ci
  3. 查找:utf8mb4,全部替换为:utf8
  4. 按顺序完成上述操作并保存。
  1. 修改wordpress配置文件wp-config.php
  2. 将define(‘DB_CHARSET’, ‘utf8mb4’);改为define(‘DB_CHARSET’, ‘utf-8’);
  3. 完成后基本能解决问题。
  1. 确认wp_posts表中两处参数:post_content,guid中的数据是否链接错误或链接到原域名。
  2. 若存在上述问题,在数据库管理后台执行SQL命令:
  ```sql
  UPDATE wp_posts SET post_content=replace(post_content,'无需http://的旧地址','无需http://的新地址');
  UPDATE wp_posts SET guid=replace(guid,'无需http://的旧地址','无需http://的新地址');
  1. 使用虚拟主机空间上的phpmyadmin操作数据库时,若phpmyadmin首页显示MySQL字符集为cp1252 West European (latin1),导入数据会出现乱码。解决方法如下:
    1. 在phpmyadmin首页右侧找到Language选项,将默认的中文 - Chinese simplified-gb2312改为中文 - Chinese simplified
    2. 左侧MySQL字符集会变为UTF-8 Unicode (utf8),乱码问题得到解决。
    3. 注意:
      1. 在Dokuwiki中,标题使用`====`表示四级标题,内容则直接书写,不需要额外的格式标记(如加粗、斜体等),因为Dokuwiki会根据上下文自动解析。
      2. 同时,代码块使用```来包围,并指定语言(如sql)以获得语法高亮。
      3. 但在上述转换中,由于SQL命令较短且简单,我并未特别指定语言类型。
  • is/系统安装及应用/wordpress问题点集锦.txt
  • 最后更改: 2025/02/19 05:18
  • A.L