使用url变量(GET)显示奇数字符而不是撇号


Odd characters instead of apostrophes appearing with url variable (GET)

我正在开发一个具有弹出功能的音频播放器。我想不出任何方法将信息传递到最终的弹出窗口,而是将它们作为GET变量通过URL传递。

结果,我得到了一个javascript链接,或多或少像:

<div id="audio-player-popout" onclick="window.open('http://popout-url/index.php?file=Filename.mp3&title=Title",'audioplayer','location=0,menubar=0,status=0,scrollbars=0,width=350,height=450');">

问题是,当标题包含撇号时,它显示为

而不是撇号。我使用php的addslash,但它似乎没有什么区别。如果没有addslashe,它显然会导致javascript出现错误。

有更好的方法吗?或者我做错了什么?

谢谢!

在标题上使用urlencode

来自PHP手册:

返回一个字符串,其中包含除-_之外的所有非字母数字字符。已替换为后跟两个十六进制数字的百分比(%)符号以及编码为加号(+)的空间。