дальше еще интереснее: решил попробовать использовать encodeArray из CHtml
для этого создал в компонентсах класс унаследованный от CHtml и там перегрузил этот метод
в котором использовал
htmlspecialchars($key,ENT_QUOTES|ENT_IGNORE,'UTF-8')
не помогло…
тогда пошел в рукопашную и вбил массив прямо в CArrayDataProvider и тут случилось крайне интересное…
так - [color="#FF0000"]работает[/color] =
$dataProvider=new CArrayDataProvider(
array(
'key'=>htmlspecialchars('it work = english words and letters', ENT_COMPAT, 'UTF-8')
), array(
'pagination'=>array(
'pageSize'=>10,
),
));
так - [color="#0000FF"]не работает[/color] =
$dataProvider=new CArrayDataProvider(
array(
'key'=>htmlspecialchars('здесь текст на русском', ENT_COMPAT, 'UTF-8')
), array(
'pagination'=>array(
'pageSize'=>10,
),
));
а так - [color="#FF0000"]СНОВА работает[/color] =
$dataProvider=new CArrayDataProvider(
array(
'key'=>htmlspecialchars('it isn`t work = здесь текст на русском', ENT_COMPAT, 'UTF-8')
), array(
'pagination'=>array(
'pageSize'=>10,
),
));
не понимаю - каким образом наличие в строке нескольких латинских символов меняет принцип работы?