我正在尝试从url获取值 我最终在IE中遇到了问题 但是所有其他浏览器都很棒。
这是我的问题:
如果文本是一些UTF-8文本,例如:
$x=$_GET['txt'];
echo $x;
我得到了
???????
只在IE中
还是同样的问题,这是我的所有代码
<?php
header('Content-Type: text/html; charset=utf-8');
$x=$_GET['id'];
echo $x;
?>
尝试在id
中使用此单词سسسسسسس
答案 0 :(得分:2)
如果这是一个charset问题(作为在PHP中使用<head>
的替代方法),您可以将此元标记放在header
内:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<强>更新强>
如果您没有从网址中对x
的值进行编码,则应执行以下操作:
<a href="page.php?x=<?php echo urlencode($string)?>">Link</a>
使用示例文本(سسسسسسس),一旦使用urlencode
进行编码,就应该这样:
%D8%B3%D8%B3%D8%B3%D8%B3%D8%B3%D8%B3%D8%B3
我通过添加charset元标记并执行简单的urldecode
:
echo urldecode($_GET['x']);
在IE上查看截图:
答案 1 :(得分:1)
尝试设置页面,以便浏览器正确识别其编码。大多数情况下发送一个合适的标题就足够了:
header('Content-Type: text/html; charset=utf-8');
这适用于UTF8
,但您可以发送所需的任何编码。
答案 2 :(得分:0)
答案 3 :(得分:0)
正如您已经说明的那样,这取决于浏览器的字符编码设置。尝试使用PHP中的utf8函数 http://www.php.net/manual/de/function.utf8-decode.php 和 http://www.php.net/manual/de/function.utf8-encode.php (: