substr

Печать RSS
389

Автор
Чатланин
0
Такая проблема. Есть форма для ввода на странице A.php. На странице В.php есть такой код:
$_POST['theme']=htmlentities($_POST['theme'], ENT_QUOTES, 'Windows-1251');
$_POST['theme']=substr($_POST['theme'],0,100);
На странице А я ввожу текст в форму: "Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Н666".
В базу записывается только: "Новость Новость".
Кодировка базы win 1251 gen ci.
В чем проблема неправильного обрезания строки?
Изменил: CROWS (24.01.2010 / 15:06)
Автор
Чатланин
0
Если вводить на латыне, то обрезает верно.

2000 лет д.н.э.
0
mb_substr($str,0,100,'utf-8')
если не ошибаюсь.
Автор
Чатланин
0
3. ramzes, спс, попробую.
Изменил: CROWS (24.01.2010 / 15:53)
N

Голубые штаны
0
Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Новость Н666
- здесь 100 знаков, а байт около 200, русский символ - 2 байта, латинский и цифра - 1 байт.
Обрезаешь ты до 100 байт. Либо юзай спец функции либо в substr увеличь до 200
Автор
Чатланин
0
В топсервере нету php_mbstring.dll. Скачал, установил, раскомментировал в php.ini. чёт всёравно не работает.
5, ок.
Изменил: CROWS (24.01.2010 / 16:22)

2000 лет д.н.э.
0
#6 на хосте попробуйsmile
#5 тогда латинскими будет 200 пропускать
Автор
Чатланин
0
Другие способы есть обрезать?
N

Эцилопп сией тентуры
0
я через прег реплейс режу
A

Оранжевые штаны
0
Для этого в php5 имеется функция iconv_substr
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск