Специальные символы разрывают ссылки на страницы - PullRequest
0 голосов
/ 04 октября 2011

Специальные символы и нумерация страниц

Я использую cakephp с charset = iso-8859-1. Я знаю, я бы хотел использовать UTF-8, но это было бы более серьезной проблемой.

Дело в том, что когда у меня есть специальный символ, такой как "-", ссылки на страницы разбиваются.

Если я не использую специальные символы, нумерация страниц работает нормально.

Контроллер

        $this->paginate = array(
            'limit' => self::MAX_PRODUCTOS_POR_PAGINA,
            'order' => 'Producto.id DESC',
            'conditions' => array($conditions, 'Producto.visible' => true)
        );
        $this->set('productos', $this->paginate());

Вид:

echo $this->paginator->next(' Siguiente > ', null, ' Siguiente > ', array('class' => 'disabled'));

Для ссылки "Следующая страница"
Я должен получить эту ссылку:
http://mysite.com.ar/Productos/buscar/señuelos/page:2

Вместо этого я получаю:
http://mysite.com.ar/Productos/buscar/se%F1uelos

Есть идеи?

1 Ответ

0 голосов
/ 04 октября 2011

- это% F1 в html-сущности, так что это не так, это странно, что он разбил нумерацию страниц, прежде чем вы не можете поместить ñáéíóú в URL, поэтому был использован urlencode, вы всегда можете использовать ulrdecode , чтобы он отображал-

echo urldecode($this->paginator->next(' Siguiente > ', null, ' Siguiente > ', array('class' => 'disabled')));

Для торта CakePHP можно было бы установить для параметра escape значение false, чтобы вместо него не использовалась html-сущность - как это

echo $this->paginator->next(' Siguiente > ', array('escape'=>false), ' Siguiente > ', array('class' => 'disabled'));

makeуверен, что это не нарушается ни с одним параметром: D

посмотрите API для больше информации

...