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」をサーバー側で表示できるようにする必要があると思います。ブラウザとリクエストを適切に構成するよりも、私が失敗していると思います。アドバイスをいただければ幸いです。