假设我将一个重音字符(例如 ASCII 233)键入如下形式:
然后我使用此代码发布。关键点,据我了解:URL 编码不适用于 ASCII > 127,因此您必须引入不同的内容类型。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<script type="text/javascript" src="../js/third_party/jquery.js"></script>
<script>
$(document).ready(function(){
$('#but').click(function(){
var fd = new FormData();
fd.append( 'params', $('#inp').val());
$.ajax({
url: 'http://my-server-address-here',
data: fd,
dataType: 'json',
processData: false,
contentType: false,
type: 'POST',
success: function(data){
alert(data);
}
});
});
});
</script>
</head>
<input id="inp"></input>
<button id="but">Submit</button>
</html>
问题是,Chrome 似乎仍然会破坏角色,如此处所示。这是在它甚至到达服务器端脚本之前,但是,从那里输出它会显示同样的问题。
我们一直输出这种类型的数据(例如服务器到浏览器),没有任何问题或特殊逻辑,所以,我认为必须有可能让我的“法语 e”出现在服务器端,而无需任何特殊的翻译或转换,其他而不是正确配置浏览器和请求,我认为我没有这样做。任何建议表示赞赏。