FullCalendar / JSON事件提要问题

时间:2010-03-04 03:28:09

标签: php mysql json fullcalendar html-entities

我正在使用php / MySQL驱动的JSON事件源。我也试图在事件的标题中使用希腊html实体(即& Gamma-用分号)。因为FullCalendar不会让我看到firebug中的所有进程,我无法确切地看到发生了什么,但它不会渲染Γ等等。我已经尝试了我能想到的所有组合,在php json_encode中,实际的MySQL db字段结果。在他们的网站上推荐的fullTalendar QTip实际上是在提示渲染中正确呈现它。我很茫然,因为这是我真的希望在应用程序中尽可能使用的东西。任何帮助将不胜感激。


轻微更新

我终于发现正在操纵JSON来制作&本身进入& amp';'不管我做什么;所以任何相关的信息都可以派上用场。 THX

3 个答案:

答案 0 :(得分:3)

我遇到了与&符号(&amp;)和html标签类似的问题。看起来插件会将所有内容转换为html实体。因此,html标签和实体实际显示出来。例如,&amp;转换为&amp;amp;,显示为&amp;而不是&<br />转换为&lt;br /&gt;,显示为{{ 1}}而不是休息。您可以修改<br />(版本1.4.5中的3368)以返回htmlEscape()。您还可以按如下方式设置eventRender回调:

s

虽然有点多余,但这些确保在将来的版本中它不会被破坏。

我已在http://code.google.com/p/fullcalendar/issues/detail?id=400向维护者提出了问题。

答案 1 :(得分:0)

尝试在任何地方设置utf8编码并使用所需的符号而不是html代码。 并保存php文件,如没有BOM的UTF-8,你可以使用notepad ++编辑器。

您可以先使用echo-ing数据库查询结果检查php页面中数据库的输出。如果它提供了错误的编码,请尝试使用phpmyadmin或类似工具设置unicode utf8或编码。让我们说utf8。

你的php版本是什么? 还试着检查一下你是否可以使用mysql_set_charset()函数,如果你可以尝试检测你的php / mysql连接中默认的charset:

  <?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编码。

答案 2 :(得分:0)

我将事件标题包装在html_entity_decode()中,然后将其添加到json数组中:

$title = html_entity_decode( $title, ENT_QUOTES, "UTF-8" );