Заголовок текстового поля в Drupal не принимает специальные символы - PullRequest
1 голос
/ 18 февраля 2011

Я пытаюсь присвоить элементу друпальной формы с помощью хука form_alter заголовок, содержащий специальные символы (é, è, à ...)

    $form['title'] = array(
          '#type' => 'textfield',
          '#title' => 'this is my title é à test',
          '#required' => TRUE
          ); 

, который дает мне пустой вывод на странице формы

использование функции check_plain () для заголовка не влияет на вывод: s, все еще пусто Хотя это проблема кодирования, но я проверил все мои настройки enc (база данных, сервер, шаблон темы), все они установлены в utf-8

обратите внимание, что при вводе значения, содержащего специальные символы, все идет нормально. я думаю, что проблема здесь в том, что ядро ​​Drupal не принимает специальные символы в поле #title?

Ответы [ 2 ]

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

Я тоже столкнулся с некоторыми похожими проблемами с французским модулем. Я согласен, что решение Berdir является рекомендуемым, но если вам действительно нужно поместить акценты в ваш код, вы должны сначала кодировать свои файлы.

В Notepad ++ вы можете использовать меню Кодирование , чтобы выбрать это, выберите «Кодировать в UTF-8 (без спецификации)» и проверьте в правом нижнем углу вашего файла, чтобы увидеть его формат, он должен сказать « ANSI как UTF-8 ".

Удаление BOM очень важно, поскольку оно может «испортить» серверы Linux.

Encode in UTF-8 (without BOM)

0 голосов
/ 18 февраля 2011

Ну, во-первых, вы должны использовать английский в коде, а затем перевести его.

Проверить кодировку этого файла ...

Если вы попробуете это вне drupal, просто обычныйСбой PHP, который печатает эти символы, это работает?

...