2011-05-23 67 views
1

我使用AJAX将3个文本字段(英文,中文和阿拉伯文)的值发布到php页面。显示非英文字符为?????在Internet Explorer中

当我尝试在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']; 

我怎样才能解决这个问题呢?

+0

'.js文件' - 所以这个文本是'包括'到页面中?检查主页(容器)的字符集。 – 2011-05-23 11:35:26

+0

所以会有你的答案吗?什么是主页的字符集? – 2011-05-23 12:04:45

回答

2

嗨 尝试不使用元标记charset =“UTF-8”,但要确保您的文件使用UTF-8编码进行保存。

0

你使用IE8测试吗?我曾与IE8这个奇怪的问题,即它拒绝显示非英文字符集

一下添加到<head>,看看它是否有助于

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

它基本上强制IE8渲染像IE7 ALA“怪癖模式”。讨厌,但它至少解决了我的问题。

+0

这不是一个合适的解决方案.. – ThiefMaster 2011-05-23 11:38:14

+0

是的,这是一个最好的破解 - 但它让我走出困境,我陷入了困境。能够很好地了解根本原因的妥善解决方法 – 2011-05-23 11:41:14

+0

我的所有页面都保存在utf-8编码,我已经试过,但它不工作。 :( 我使用IE9 – 2011-05-23 12:35:52

0

我已经得到了解决:)

如果您尝试使用AJAX发布数据比你要编码使用encodeURIComponent()escape()功能的URL。这个对我有用。