Протестировал ваши данные и ваш запрос и получил такой результат:
. . .
| 8 | World War 3 |
| 79 | W+J |
| 88 | Damaged Goods |
+----------+------------------------------------+
Обратите внимание на выравнивание правых полос. В данных нет пробелов. На моем экране это выглядит так:
. . .
| 8 | World War 3 |
| 79 | W + J |
| 88 | Damaged Goods |
+----------+------------------------------------+
В заголовке "Поврежденные товары" в начале есть дополнительное непечатное место, что позволяет сортировать его после всех остальных заголовков.
Если я открою ваши данные в vim, я увижу:
(88, '<200b>Damaged Goods', 'en',
Unicode 200b - это «пространство нулевой ширины»: https://www.fileformat.info/info/unicode/char/200B/index.htm
Вы должны выполнить какую-либо операцию обрезки пробелов в своих данных, прежде чем вставлять их в базу данных. К сожалению, функция reglar PHP trim () не выполняет эту работу.
См. Обрезать пробелы в Юникоде в PHP 5.2 для решения.
Ваш комментарий:
Использование вами функции trim()
в PHP не будет работать. Функция PHP trim()
распознает только пробельные символы ASCII, а не юникодоподобные символы. См. http://php.net/trim для списка символов, которые ищет обрезка.