私はこれに腹を立てています:
Tomcat 5.5、JRE 1.6 (準拠レベル)、JDK 1.7 を使用
ヘッダー:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
...
<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script src="js/jquery-ui/jquery-1.9.0.js"></script>
Json リクエスト:
params = $("#formList").serializeArray();
$.getJSON(url, params, function(data) {...});
エイリアス パラメータに ñ を渡すと、私のローカルホスト マシン (win) では問題なく動作しますが、実稼働サーバー (Linux) では、param などの二重エンコーディングが取得されます。
WebBrowserRequest (ローカルホストと本番用の同じリクエスト):
userList.action?pagination.currentPage=1&pagination.sortColumn=&pagination.sortColumnOrder=& user.alias=%C3%B1 &user.email=&selectedRole=-1&selectedCountry=-1&selectedTown=-1&selectedLanguage=-1&selectedUserEnabled=0&__multiselect_selectedCategories=&jsonRequest=true&back=false
サーバー側の URL 出力 (localhost):
userList.action?pagination.currentPage=1&jsonRequest=true&user.email=&selectedLanguage=-1&selectedTown=-1&selectedCountry=-1&pagination.sortColumn=&selectedRole=-1&back=false& user.alias=ñ &selectedUserEnabled=0&pagination.sortColumnOrder=&__multiselect_selectedCategories=
サーバー側の URL 出力 (本番):
userList.action?jsonRequest=true&selectedTown=-1&pagination.sortColumn=& user.alias=√ &back=false&pagination.sortColumnOrder=&pagination.currentPage=1&user.email=&selectedLanguage=-1&selectedCountry=-1&selectedRole=-1&selectedUserEnabled=0&__multiselect_selectedCategories=