JSP を使用してプレゼンテーション層を備えた Web アプリケーションを構築しました。すべての JSP で、次のように文字セットを定義しました。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
...
ユーザーがユーザー プロファイルの情報を編集したい場合は、オブジェクトをフォームに読み込みます。ページがOpera、Chrome、SafariまたはIE 10 (Windows 7)でアクセスされていた場合、フォームをバックエンド (Java) に送信し、データがデータベースにマージされると、一部の文字が正しく保存されません。主に: á, é, í, ó, ú, ... しかし、Firefox では問題ありません。
私は Oracle 11g を実行しています。これは文字セットです。
SQL> select * from v$nls_parameters;
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_LANGUAGE
SPANISH
NLS_TERRITORY
SPAIN
NLS_CURRENCY
Ç
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_ISO_CURRENCY
SPAIN
NLS_NUMERIC_CHARACTERS
,.
NLS_CALENDAR
GREGORIAN
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_DATE_FORMAT
DD/MM/RR
NLS_DATE_LANGUAGE
SPANISH
NLS_CHARACTERSET
AL32UTF8
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_SORT
SPANISH
NLS_TIME_FORMAT
HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT
DD/MM/RR HH24:MI:SSXFF
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_TIME_TZ_FORMAT
HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT
DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY
Ç
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_NCHAR_CHARACTERSET
AL16UTF16
NLS_COMP
BINARY
NLS_LENGTH_SEMANTICS
BYTE
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_NCHAR_CONV_EXCP
FALSE
19 rows selected.
他のコンピューターでプロファイルを編集することを確認しましたが、結果は同じです。どこに問題があるのか わかりませんが、助けはありますか?ありがとう
更新:フォーム送信時の JS コード:
$(function() {
$('#user-update').submit(function(event) {
event.preventDefault();
...
$.ajax({
type: 'PUT',
url: '/user/${user.userId}/update',
data : JSON.stringify($('#user-update').serializeObject()),
contentType: 'application/json',
success: function() {
...