※ ChatGPTを利用し、要約された質問です(原文:URLEncoderとURLDecoderの使い方について)
URLEncoderとURLDecoderの使い方について
このQ&Aのポイント
javaの初心者でもわかるURLEncoderとURLDecoderの使い方を解説します。
URLエンコードとURLデコードの手法とその使い方について説明します。
WindowsXP IE6.0 Tomcat5.5 JDK1.5環境下で文字化けが発生する原因と解決方法について説明します。
URLEncoderとURLDecoderの使い方について
はじめまして。javaの初心者です。
質問があります。以下のソースコードで、
----------------------------------------------------------------
<%@ page contentType="text/html;charset=Shift_JIS"
import="java.net.URLEncoder" %>
<html>
<body>
<p>送信元 Test01.jsp</p>
<%
String query = URLEncoder.encode("テスト","Shift_JIS");
String url "http://localhost:8080/Test/Test02.jsp?name="+query;
%>
<a href="<%=url%>">送信</a>
</body>
</html>
----------------------------------------------------------------
<%@ page contentType="text/html;charset=Shift_JIS"
import="java.net.URLDecoder" %>
<html>
<body>
<p>送信先 Test02.jsp</p>
<%
String str = request.getParameter("name");
String name = URLDecoder.decode(str,"Shift_JIS");
%>
<%= name %>
</body>
</html>
----------------------------------------------------------------
リンクに日本語をエンコードした文字列をクエリとして追加して
送信すると、送信先で表示したとき文字化けしてしまいます。
setCharacterEncoding("Shift_JIS")などを送信先に指定すると
文字化けは回避できるのですが、それではURLEncoderやURLDecoder
を使用している意義がないのではないかと思っています。
なぜ文字化けしてしまうのかをご教授お願いします。
現在WindowsXP IE6.0 Tomcat5.5 JDK1.5を使用しています。
お礼
braver_2004様へ 連絡が遅れましてすみませんでした。 braver_2004様が教えてくださいました、参考URLが大変参考になりました。ありがとうございました。 やはり、J2SE 1.5でも参考URLの内容と同じ問題がおこるようです。 JavaのURLEncoderによるエンコードの結果と、ブラウザによる エンコードの結果が異なるため、その異なったブラウザによるエンコードの結果がURLDecoderに渡されるために文字化けが生じたのですね。 勉強になりました。ありがとうございました。