#cakephp #character-encoding #special-characters
#cakephp #кодировка символов #специальные символы
Вопрос:
Метка отображается правильно, но по какой-то причине параметры в выпадающем меню этого не делают.
echo $form->input('job_category', array('label'=>'Emploi Catamp;eacute;gorie',
'options'=>array('Activitamp;eacute;s commerciales gamp;eacute;namp;eacute;rales')
));
он выдает следующий HTML:
<option value="0">Activitamp;amp;eacute;s commerciales gamp;amp;eacute;namp;amp;eacute;rales</option>
должно быть:
Activités commerciales générales
Ответ №1:
Если вам действительно нужно использовать ссылки на символьные сущности, я считаю, что добавление 'escape' => false
во входной массив должно сделать это.
Но реальный ответ таков: вообще не используйте ссылки на символьные сущности. Убедитесь, что на HTML-странице используется UTF-8, а код сохранен как UTF-8, и вы можете нормально вводить символы с ударением в коде.
Комментарии:
1. Спасибо! Я знаю, что это должно быть в UTF-8, но приложение просто не работает, и это просто быстрое исправление, которое я должен был сделать для французской версии сайта.
2. Ты спаситель жизни .. 🙂 VU
Ответ №2:
почему бы вам этого не сделать?
echo $form->input('job_category', array('label'=>'Emploi Catégorie',
'options'=>array('Activités commerciales générales')
));
Комментарии:
1. и убедитесь, что вы используете utf8 везде! это все, что нужно. нет amp; … вещи
Ответ №3:
Это случилось со мной, когда я использовал испанские акценты, вам нужно установить параметр escape в false, чтобы cake не экранировал специальные символы
echo $form->input('job_category', array('label'=>'Emploi Catamp;eacute;gorie',
'options'=>array('Activitamp;eacute;s commerciales gamp;eacute;namp;eacute;rales'),
'escape' => false
));