This is an encoding Problem, the default encoding in Firefox is UTF-8 while in IE it is some ISO-XXXX-X, try to set
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
in Your HTML -<head>...</head>
this will set the encoding to UTF-8, so IE will urlencode the string like Firefox did and therefore produces a working request.
and by the way, you should deliver a html page if you want that to be a link so you should
echo '<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"></head><body>';
before you echo the <a href=...>
and
echo '</body></html>';
afterwards.
That way IE will use the given UTF-8 encoding on displaying the link.
It might seem as if it would work without that stuff, butt then IE decodes the given <a href=...>
, guesses it is a link and then makes his own html-head-body around it to display it - which then includes a <meta http-equiv="content-type" content="text/html; charset=ISO-XXXX-X">
instead.
If you just pass the link to via "AJAX" to a page already loaded make sure that this page contains the mentioned meta-tag.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…