|
|
|
| Здравствуйте!
Не могу понять в чём дело. Из бд вытаскиваю текст и считаю сколько в нём символов ($simvol = mb_strlen($text, 'utf-8');). На домашнем компьютере (установлен денвер) выдаёт 8187 символов а на хостинге показывает 8221 символа хотя файл и текст абсолютно идентичны.
Почему так происходит.
И ещё, как избавиться от повреждённых кириллических символов которые появляются в конце обрезанной строки?
Вырезаю так:
$text = substr($text, 0, 200);
|
| |
|
|
|
|
|
|
|
для: sasha12342
(30.03.2013 в 14:45)
| | Хост у вас скорее всего Unix, а в нем перевод строки это один байт, а на Widows два байта, отсюда и разница.
А избавиться от поврежденных символов - так с чего вы режете строку utf функцией для этого не предназначенной? | |
|
|
|
|
|
|
|
для: confirm
(30.03.2013 в 14:50)
| | Спасибо за ответ!
А какой функцией мне вырезать первые 200 символов из текста? | |
|
|
|
|
|
|
|
для: sasha12342
(30.03.2013 в 15:31)
| | Если вы работает с utf, то конечно с функциями для работы с мультибайными строками. Работать обычными строковыми функциями с такими строками в некоторых случаях можно, если вас в них интересуют исключительно английские символы, они в любой кодировке имеют одно значение. | |
|
|
|
|
|
|
|
для: confirm
(30.03.2013 в 15:34)
| | У меня сайт в кодировке utf а текст преимущественно кириллический а задача состоит в том чтобы из текста вырезать и показать только первые 200 символа. Так как все функции работают с байтами (если я не ошибаюсь) то с кириллическим текстом может произойти так что последний символ (состоящий из двух байтах) будет разбит, и в этом случае на экране появиться "ромб с вопросительном знаком".
Как решить эту задачу?
Может есть функция которая вырезает все непонятные (повреждённые символы)? | |
|
|
|
|
|
|
|
для: sasha12342
(30.03.2013 в 15:49)
| | Я же вам сказал какими функциями нужно пользоваться. | |
|
|
|
|
|
|
|
для: confirm
(30.03.2013 в 15:58)
| | Спасибо!
$text = mb_substr($text,0,200,'utf-8');
|
Решило проблему. Однако ещё не понял каким образом. Читать надо, вникать. Будет свободное время почитаю и проанализирую. | |
|
|
|