显示非英文字符为?????在Internet Explorer中

时间:2011-05-23 11:27:14

标签: php encoding

我使用 AJAX 将3个文本字段(英语,中文和阿拉伯语)的值发布到php页面。

当我尝试在Internet Explorer中回显值时,我得到“????”

相同的代码在Firefox,Chrome和Safari中运行良好。

我已经定义了UTF-8字符集。

这是我的.JS文件

xmlhttp.open("GET","save_banner.php?banner1="+b1+"&banner2="+b2+"&banner3="+b3 , true);

.PHP文件

header('Content-Type: text/plain; charset=UTF-8');


echo $_GET['banner1'];
echo $_GET['banner2'];
echo $_GET['banner3'];

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

您好 尝试不使用metatag charset =“UTF-8”,但要确保使用UTF-8编码保存文件。

答案 1 :(得分:0)

您是否正在使用IE8进行测试?我在IE8中遇到了这个奇怪的问题,它拒绝显示非英文字符集

将此添加到<head>并查看是否有帮助

<meta http-equiv="X-UA-Compatible" content="IE=7" />

它基本上迫使IE8呈现像IE7 ala'quirks mode'。很烦人,但它至少解决了我的问题。

答案 2 :(得分:0)

我有解决方案:)

如果您尝试使用ajax发布数据,则必须使用encodeURIComponent()escape()函数对网址进行编码。它对我有用。