【发布时间】:2015-07-21 19:00:44
【问题描述】:
昨天开始使用WordPress 4.1(Windows 7,Apache 2.4,MySQL 5.5,PHP 5.6.1,UTF8,一般通用设置)的一个小型私人博客。我开始将我的文章转入其中;有几篇没问题,但我发现有两篇无法正确保存。
当试图将这些文章保存为帖子时,WordPress 会刷新并显示损坏的文本版本。确切的损坏是:文章的中间被删除,而插入了几个垃圾字符(例如 %D?)。
我尝试将 WP 更新到当前 (4.2.2) 版本 - 错误相同(更新:4.2.3 - 错误相同)。我试图将文章保存为页面而不是帖子 - 错误是相同的。我尝试了标准主题而不是自定义 - 错误是一样的。
看起来“已发布”文章比其他文章更长 - 5.2Kb 和 7.5Kb。我试着看看如果我保存较少的部分会发生什么。虽然保存了一个很短的片段,但效果很好。如果制作更长的片段,WP 会丢失此文本的尾部。如果制作更长的部分,WP开始失去中间部分,如上所述。
目前我不知道如何修复或调试这种情况。有什么建议吗?
========== 附加信息 ==========
我尝试将这段代码执行到我的博客中:
<?php
$my_post = array(
'post_title' => 'Caption',
'post_status' => 'publish',
'post_content' => 'the very-very-long text of my article'
);
echo wp_insert_post( $my_post );
?>
当执行时,它应该是很好的帖子(感谢 urka_mazurka 的建议)。
当我尝试将这篇文章编辑到 WP 中时,保存时它也损坏了。此外,当我试图将这个 PHP 文件编辑到 WP 中(使用编辑主题工具)时,它也会在保存时损坏。
===== 附加信息 2 =====
表 wp_posts 排序规则是 utf8mb4_unicode_ci(SHOW TABLE STATUS 的结果)
看起来 urka_mazurka 是最接近的……至少我可以通过wp_insert_post 发布这些帖子。太糟糕了,因为他没有发布任何答案,所以我无法向他提出赏金问题。
【问题讨论】:
-
您能否展示正在修剪的示例内容?
-
s020.radikal.ru/i703/1507/04/e757755f3e52.png的截图比较合适。红线显示损坏的字符,替换了原始文本的几段。
-
您提到您更改了主题 - 但从未谈到任何已安装的插件或禁用它们。你有吗?
-
不,目前我没有任何插件。
标签: php windows wordpress apache