使用jQueryAjax和PHP进行编码
我有一个html页面编码为:使用jQueryAjax和PHP进行编码,php,jquery,html,ajax,encoding,Php,Jquery,Html,Ajax,Encoding,我有一个html页面编码为: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"> 此AJAX设置仍然不起作用: $.ajax({ type:'POST', url:'ajax.php', contentType: "application/x-www-form-urlencoded;charset=ISO-8859-2", data:{p1:p1,
<meta http-equiv="Content-Type"
content="text/html; charset=ISO-8859-2">
此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”,
…这简直要了我的命
我似乎可以使用:
utf8_encode()php函数:将ISO-8859-1字符串编码为UTF-8
此函数将字符串数据编码为UTF-8,并返回
UTF-8是Unicode用于
将宽字符值编码到字节流中。UTF-8是
对普通ASCII字符透明,是自同步的(意思是
程序可以找出ByTestStream中的位置
字符开始),并可与普通字符串比较一起使用
排序等功能
唯一的问题是:我的编码是ISO-8859-2,而不是ISO-8859-1
ISO-8859-1中的法文字母è,与
ISO-8859-2中的捷克/斯洛伐克字母č
(根据另一个答案)完美的解决方案是: iconv-
将字符串转换为请求的字符编码
字符串iconv(字符串$in\U字符集、字符串$out\U字符集、字符串$str
)
对字符集中的中的字符串str执行字符集转换
要输出字符集
在这种情况下:
$encoded_text= iconv("ISO-8859-2", "UTF-8", $text)
我真的不知道为什么,但正确的格式是:
$encoded_text= iconv("UTF-8","ISO-8859-2", $text);
为什么不在所有页面上使用utf-8呢?拜托:)你在开玩笑吗?根据我的请求:“请不要要求我将字符编码更改为UTF-8”简短回答:因为我不允许将编码更改为UTF-8。。。这是一个很大的系统,每个内容都是用ISO-8859-2编写的,当然我可以编写一个脚本来更改html页面内容(静态文本等),但这是另一个故事(不允许).
标签是什么意思
?是的,我更正了,谢谢
$encoded_text= iconv("UTF-8","ISO-8859-2", $text);