【发布时间】:2013-07-13 18:56:59
【问题描述】:
我有一个 html 页面编码在:
<meta http-equiv="Content-Type"
content="text/html; charset=ISO-8859-2">
页面的每个内容都使用这个字符集,一切看起来都很好。我需要向 PHP 服务器发送一个 Ajax 调用,但是当我发送一个字符 á 并返回相同的值时,它显示 ĂĄ 所以不知何故它改变了 - 我认为 - 到 UTF-8 ......我需要将此值保存到 ORACLE DB 中,并且在数据库中它也保存为 ĂĄ...
PHP 代码(ajax.php):
<?php
$p1=$_POST["p1"];
echo "p1:$p1\n";
?>
此 AJAX 设置仍然无法正常工作:
$.ajax({
type:'POST',
url:'ajax.php',
contentType: "application/x-www-form-urlencoded;charset=ISO-8859-2",
data:{p1:p1,
p2:p2,
}})
.always(function() { alert('complete'); });
}
因为如图(下)所示,ajax 调用仍然以 UTF-8 字符编码发送 感谢您的回答,请不要要求我将字符编码更改为 UTF-8,因为这是一项要求:(
我的另一个问题是为什么什么都不做 contentType: "application/x-www-form-urlencoded;charset=ISO-8859-2",... 这简直是要了我的命。
【问题讨论】:
-
为什么不对所有页面使用 utf-8?
-
来吧:) 你在开玩笑吗?根据我的要求:“请不要要求我将我的字符编码更改为 UTF-8”简短回答:因为我不允许将编码更改为 UTF-8……这是一个大系统,每个内容都写在ISO-8859-2,当然我可以制作一个脚本来更改 html 页面内容(静态文本等),但这是另一个故事(不允许)...
-
<content>标签是什么意思,<meta>? -
是的,我更正了,谢谢
标签: php jquery html ajax encoding