FullCalendar / JSON проблема с фидом событий - PullRequest
0 голосов
/ 04 марта 2010

Я использую управляемую php / MySQL ленту событий в JSON. Я также пытаюсь использовать греческие html-сущности (т. Е. & Gamma-with точка с запятой) в заголовке события. Поскольку FullCalendar не позволяет мне видеть все процессы в firebug, я не могу точно видеть, что происходит, но он не отображает & Gamma; и т. Д. Я перепробовал все комбинации, которые я могу придумать в php json_encode, фактическом MySQL дБ поле результата. QTip, который fullCalendar рекомендовал на их сайте, отображает его правильно при отображении подсказок. Я в растерянности, потому что это то, что я действительно хочу использовать в приложении, если это вообще возможно. Любая помощь будет принята с благодарностью.


Небольшое обновление

Наконец-то я обнаружил, что JSON манипулируют, чтобы превратить & себя в & amp ';' Неважно что я делаю; поэтому любая полезная информация по этому вопросу может пригодиться. Thx

Ответы [ 3 ]

3 голосов
/ 15 марта 2010

Я столкнулся с похожей проблемой с тегами амперсандов (&) и HTML. Похоже, плагин конвертирует все в HTML-сущности. Из-за этого HTML-теги и сущности действительно отображаются. Например, &amp; преобразуется в &amp;amp; и отображается как &amp; вместо &, а <br /> преобразуется в &lt;br /&gt; и отображается как <br /> вместо перерыва. Вы можете изменить htmlEscape() (ln 3368 версии 1.4.5), чтобы просто вернуть s. Вы также можете настроить обратный вызов eventRender следующим образом:

eventRender: function(event, element) {
  $('.fc-event-title', element).html(event.content);
}

Хотя это и немного избыточно, это гарантирует, что оно не сломается для вас в будущих версиях.

Я подал проблему с сопровождающим по адресу http://code.google.com/p/fullcalendar/issues/detail?id=400.

0 голосов
/ 04 сентября 2014

Я завернул заголовок события в html_entity_decode() перед добавлением его в массив json:

$title = html_entity_decode( $title, ENT_QUOTES, "UTF-8" );
0 голосов
/ 18 апреля 2010

Попробуйте установить кодировку utf8 везде и использовать необходимые символы вместо HTML-кода. И сохраните файл php, как UTF-8 без спецификации, вы можете использовать редактор notepad ++.

Вы можете сначала проверить вывод из базы данных на странице php с помощью эхо-запроса к базе данных. Если это дает неправильную кодировку, попробуйте установить unicode utf8 или кодировку, которую вы хотите, с помощью phpmyadmin или аналогичного инструмента. Скажем, utf8.

Какая у вас версия php? Также попробуйте проверить, можете ли вы использовать функцию mysql_set_charset (), если вы затем можете попытаться определить, какая кодировка установлена ​​по умолчанию в вашем php / mysql соединении с:

  <?php
     $dbhandle = mysql_connect('localhost','user1','pass1',TRUE);
     $charset = mysql_client_encoding($dbhandle);
     echo "The current character set is: $charset\n";
  ?>

Это utf8? Если нет, попробуйте установить это так:

      $charset = mysql_client_encoding($dbhandle);
      echo "The current character set is: $charset\n";

      mysql_set_charset('utf8',$dbhandle);
      echo "The last current character set is: $charset\n";
  ?>

, а также установите все ваши HTML-файлы в кодировку utf8.

...