我使用 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'];
我该如何解决这个问题?
答案 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()
函数对网址进行编码。它对我有用。