Текст обрезан специальными символами

WordPress или PHP обрезают текст после сохранения поста. Это происходит, когда есть специальный символ, такой как ’или ™.
Например, если я введу следующий текст:

This isn’t working

и тогда я сохраню пост, пост будет:

This isn

Я предполагаю, что это не MySQL, потому что я ввел тот же текст, и он работал.
Файл wp-config.php содержит следующее:

define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

И я проверил это с

define('DB_CHARSET', 'utf8');
define('DB_COLLATE', 'latin1_swedish_ci');

База данных mysql имеет параметры сортировки latin1_swedish_ci, а таблицы имеют параметры сортировки utf8_general_ci.

Я также пытался изменить сортировку таблиц, но это не сработало. Я использую последнюю версию WordPress. У меня нет опыта с сопоставлениями или кодированием. Итак, мой вопрос: есть ли способ заставить WordPress сохранить полностью пост, не обрезая содержимое, когда появляется специальный символ?

0

Решение

Подобное усечение очень вероятно пришло из латинского языка1 байтов подается в поле utf8.

Если ваш клиент (PHP или любой другой) генерирует латинские символы 1, а затем вы должен скажите серверу, что:

⚈  mysql: mysql_set_charset('utf8');  (deprecated)
⚈  mysqli: $mysqli_obj->set_charset('utf8');
⚈  PDO: $db = new PDO('dblib:host=host;dbname=db;charset=UTF-8', $user, $pwd);
0

Другие решения

Других решений пока нет …