我正在使用php / MySQL驱动的JSON事件源。我也试图在事件的标题中使用希腊html实体(即& Gamma-用分号)。因为FullCalendar不会让我看到firebug中的所有进程,我无法确切地看到发生了什么,但它不会渲染Γ等等。我已经尝试了我能想到的所有组合,在php json_encode中,实际的MySQL db字段结果。在他们的网站上推荐的fullTalendar QTip实际上是在提示渲染中正确呈现它。我很茫然,因为这是我真的希望在应用程序中尽可能使用的东西。任何帮助将不胜感激。
我终于发现正在操纵JSON来制作&本身进入& amp';'不管我做什么;所以任何相关的信息都可以派上用场。 THX
答案 0 :(得分:3)
我遇到了与&符号(&)和html标签类似的问题。看起来插件会将所有内容转换为html实体。因此,html标签和实体实际显示出来。例如,&
转换为&
,显示为&
而不是&
,<br />
转换为<br />
,显示为{{ 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" );