在此页面...PHP:更新Twitter状态,同时保持特殊字符不变
http://www.axisofeco.com/matters/2010/03/11/the-word-youre-looking-for-is-sublime/
...我有一个“发到Twitter”链接,粘贴在文章标题和链接到您的Twitter更新框(如果您已登录到Twitter)。
问题是,当上面的文章中有特殊字符(主要是花哨的单/双引号)时,Twitter似乎无法处理它们。这是Twitter的尝试什么(可怕的失败)粘贴到Twitter的更新包:
8217; RE +找+的+是+ “崇高” + http://is.gd/acIW2
(如果行情实际上是看在上述确定线,相信我,他们留在编码时的Twitter试图对付他们)
相关PHP格式化Twitter的更新是这样的:
$url = str_replace(' ', '+', $url);
echo htmlentities($url, ENT_COMPAT, 'UTF-8');
我用不同的F尝试例如,使用urlencode(),但没有任何东西似乎以'Twitter友好'的方式编码字符串($ url)。
这很奇怪。当我运行上面的确切代码时,我得到 - + word + you%92re + looking + for +是+%93sublime%94 - 作为输出。我在axisofeco.com服务器和我的本地服务器上获得了此信息。 – Jack 2010-03-13 15:18:52
也许问题在于服务器/ PHP不知道开头的Unicode字符。虽然它在我的服务器上工作,但我不会在生产中使用它。 – 2010-03-14 12:08:38