我正在尝试从帖子中创建谷歌日历链接,我是这样做的:
$base_url = \'http://www.google.com/calendar/event\';
$params = array(
\'action\' => \'TEMPLATE\',
\'text\' => strip_tags(get_the_title()),
\'dates\' => $dates,
\'details\' => strip_tags( get_the_excerpt() ),
\'location\' => $location,
\'sprop\' => get_option(\'blogname\'),
\'trp\' => \'false\',
\'sprop\' => \'website:\' . home_url()
);
$url = add_query_arg( $params, $base_url );
return esc_html($url);
但是IE将URL中的UTF-8 chrachters读取为百分比编码(这是一个普遍问题,因为标准的“漂亮URL”也在IE中进行了编码),因此
someurl.com/שלום
我明白了
someurl.com/%D7%A9%D7%9C%D7%95%D7%9D
WP方面是否有此问题的解决方案?我不知道如何解决这个问题,可能是在WP核心中,还是我可以为生成的日历URL做些什么。我必须注意,FX和Chrome对字符进行了正确编码。谢谢
最合适的回答,由SO网友:David Gard 整理而成
看看PHP函数urlencode()
, 希望这会有所帮助。
此外,在Wordpress(3.3.1)的最新更新中,他们对其进行了修复,使永久链接(post slug)不再包含特殊字符。当然,这对您已经存在的slug没有帮助,但我相信有一些方法可以清理数据库中的该字段。