小黑“?”空间?

时间:2012-03-27 15:32:48

标签: php javascript mysql urlencode decode

如图所示的附带链接所示。我得到这些小黑钻形状的问号,我猜它与url编码有关。 http://prntscr.com/7gkxb

(输入字段是某个人可以输入关于他们自己的简历的文本区域)

在javascript方面,我使用转义来为网址编码。

var bio = document.getElementById('bioarea');
var bio_value = escape(bio.value);

然后在php方面我使用urldecode将其改回来

$bio = strip_tags($bio);
$bio = urldecode($bio);

我正在使用ajax GET方法发送数据进行处理。我怎么能这样,那些“?”不在那里?

3 个答案:

答案 0 :(得分:2)

这不是URL编码,而是CHARACTER编码。您可能在定义为UTF-8的页面中有一些MS Word(Windows 1251)字符。

查看您在页眉中使用的字符编码类型,使所有内容都匹配。

答案 1 :(得分:0)

这通常发生在您的数据中有一些垃圾时,通常来自复制和粘贴。

有时候确保您的页面设置为utf8和数据库(如果您使用的话)。

此处有更多信息http://blog.salientdigital.com/2009/06/06/special-characters-showing-up-as-a-question-mark-inside-of-a-black-diamond/

答案 2 :(得分:0)

在这些位置看起来你有其他角色而不是“真实空间”,而且你的编码在客户端和服务器端都不一样。

可能会添加

$bio = utf8_encode($bio);

会解决这个问题吗?