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

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
is:系统安装及应用:wordpress问题点集锦 [2025/02/19 05:18] – 移除 - 外部编辑 (未知日期) 127.0.0.1is:系统安装及应用:wordpress问题点集锦 [2025/02/19 05:18] (当前版本) – ↷ 页面名由is:系统安装及应用:博客wordpress网站迁移问题点集锦改为is:系统安装及应用:wordpress问题点集锦 A.L
行 1: 行 1:
 +===== 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命令:
 +<code>
 +  ```sql
 +  UPDATE wp_posts SET post_content=replace(post_content,'无需http://的旧地址','无需http://的新地址');
 +  UPDATE wp_posts SET guid=replace(guid,'无需http://的旧地址','无需http://的新地址');
 +</code>
 +===== 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命令较短且简单,我并未特别指定语言类型。