Вчера я начал небольшой частный блог, используя WordPress 4.1 (Windows 7, Apache 2.4, MySQL 5.5, PHP 5.6.1, UTF8, обычно общие настройки). Я начал перечислять в него свои статьи; некоторые из них были в порядке, но я нашел две статьи, которые не могут быть сохранены правильно.
При попытке сохранить эти статьи в виде сообщений WordPress обновляет и показывает поврежденную версию текста. Точное повреждение: середина статьи удаляется, в то время как вместо нее вставлены несколько символов мусора (% D? Например).
Я попытался обновить WP до текущей версии (4.2.2) - ошибка такая же (upd.: 4.2.3 - ошибка такая же). Я попытался сохранить статью в качестве страницы вместо пост-ошибки. Я попробовал стандартную тему вместо custom - ошибка такая же.
Похоже, что выпущенные статьи длиннее других - 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
collation - utf8mb4_unicode_ci
(результат СТАТУСА SHOW TABLE)
Похоже, что urka_mazurka были самыми близкими... по крайней мере, я могу публиковать эти сообщения через wp_insert_post
. Жаль, что я не могу адресовать ему щедрость, потому что он не опубликовал никакого ответа.