2011-05-23 69 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。這個對我有用。