jqueryのajax()メソッドを使用して、XML形式でラップされたデータをサーバーに送信しています。
url = "http://mysite.com/service/command";
input = "my string";
xml = "<request><space>"+space_id+"</space><input>"+input+"</input></request>";
$.ajax({
type: "POST",
url: url,
dataType: 'xml;charset=UTF-8',
data: xml
});
メソッドの「data」プロパティに渡される入力文字列に発音区別符号が存在する場合、UTF-8文字エンコードにもかかわらず、それらの文字はサーバーに送信される前に他の奇妙な組み合わせに変換されます。例として、以下はサーバーに送信されるデータであり、入力文字列はääääです。Chromeの開発者ツールからコピーしました->ネットワーク:
<request><space>2080878</space><input>ääää</input></request>
この問題を解決し、発音区別符号がこのように「ねじれる」のを防ぐにはどうすればよいですか。