回答編集履歴

1

追加質問を受けての回答

2016/07/26 03:15

投稿

takyafumin
takyafumin

スコア2335

test CHANGED
@@ -15,3 +15,81 @@
15
15
 
16
16
 
17
17
  Locationで指定しているmessage.jspは、きちんとアクセスできるURLで記載するようにしておいてください。
18
+
19
+
20
+
21
+ ---
22
+
23
+
24
+
25
+ ### 以下追加質問への回答です。
26
+
27
+
28
+
29
+ 確認及び調査ありがとうございます。
30
+
31
+ 文字化けは様々な場所で起こりうる現象で、記載いただいたように一箇所ずつ詰めて切り分けしないと原因究明が難しい問題です。大体はIN/OUTの受け渡しの際に発生します。
32
+
33
+
34
+
35
+ 今回のケースですとおっしゃる通り、以下の部分が怪しいですかね。
36
+
37
+
38
+
39
+ * ブラウザからJSPへの受け渡し(リダイレクト時)
40
+
41
+ * JSPからブラウザへの受け渡し
42
+
43
+
44
+
45
+ **「ブラウザからJSPへの受け渡し」**部分の確認のためには、JSP側でデバッグするのが一番簡単に確認できます。
46
+
47
+ System.out.println()を使ってパラメータをコンソール出力するとどうなりますか?
48
+
49
+
50
+
51
+
52
+
53
+ **「JSPからブラウザへの受け渡し」**の部分はさらに何種類か原因が考えられます。
54
+
55
+
56
+
57
+ * JSPではShift-JISで出力しているが、ブラウザがUTF8などでエンコードしてしまう
58
+
59
+ -> ブラウザのエンコードをShift-JISにすると改善する
60
+
61
+ * JSPではShift-JISで出力しているが、対象の部分だけUTF8で出力してしまっている
62
+
63
+ -> JSPで適切にShift-JISに変換が必要
64
+
65
+ * JSPではUTF8で出力しており、対象の部分だけShift-JISで出力してしまっている
66
+
67
+ -> JSPの出力をShift-JISとする
68
+
69
+ * JSPではUTF8で出力しており、対象の部分もUTF8で出力しているがブラウザがShift-JISでエンコードしてしまう
70
+
71
+ -> JSPで適切にShift-JISに変換し、JSPの出力をShift-JISとする
72
+
73
+
74
+
75
+
76
+
77
+ ブラウザのエンコードがどうなっているか、という点とHTTPヘッダの「Content-Type」がどうなっているか確認できますか?
78
+
79
+
80
+
81
+ ---
82
+
83
+
84
+
85
+ また別の切り分けとして、JSPに固定で日本語を記載しておき(<p>タグでもなんでも良い)、固定文字も文字化けするか、固定文字だけは文字化けしないか確認する事で、パラメータ固有の文字化けであるか切り分けもできます。
86
+
87
+ この場合はパラメータをJSP内で適切にエンコードする必要があります。
88
+
89
+
90
+
91
+ ---
92
+
93
+
94
+
95
+ 話が複雑になってしまうかもしれませんが、phpでのリダイレクト指定の際、パラメータの文字列を文字コードを考慮したパーセントエンコーディングをすることで回避できるかもしれません。余談程度に。