Я занимаюсь разработкой веб-сайта на PHP (5.3.5, Ubuntu), и весь контент написан на испанском языке. Я хотел бы вырезать текст, когда он не помещается в отведенное для этого место. У меня есть следующий метатег в файле php, где я хочу сделать это: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />.
Текст взят из базы данных MySQL, где charset - latin1 и сопоставление latin1_spanish_ci . Я пытаюсь вырезать текст с помощью функции mb_substr (). Но это не работает правильно. Например, скажем, я хочу вырезать Short Psicodélico до Short Psicodéli , функция будет выглядеть так:
mb_substr('Short Psicodélico', 0, 15, 'ISO-8859-1');
Но результат примерно такой: Short Psicod & ea . Е с диакритическим знаком преобразуется в & ea , и я не знаю почему. Я думаю, что это как-то связано с кодировкой символов, но я точно не знаю как. Если я не использую эту функцию, символы отображаются так, как должны, вместо Short Psicod & ea он показывает Short Psicodélico .