1
私のような、OracleテーブルにHTTPリクエストを表す文字列を挿入したい:ここOracleテーブルに特殊文字を保存する方法は?
a=5&b=hello&date=2016/01/01
私のJavaコード:以下のように
//HttpServletRequest request comes in to the server
String url = request.toString().substring(beginIndex, endIndex);
stmt = conn.prepareStatement("INSERT INTO table (URL) VALUES (?)");
stmt.setString(1, url);
stmt.executeQuery();
stmt.close();
現在、この文字列が自動的に保存されています。
a=5&b=hello&date=2016%2F12%2F31
つまり、UTF-8でエンコードされた文字列です。
URLエンコードされたフォームではなく、そのままの状態で保存する方法はありますか?
文字列はエンコードされたURLであるおかげ
request.toStringは()の変換をしなかったことをあなたは確か?これはデフォルトのオラクル文字セットの完全に有効な文字セットです。 – OldProgrammer
なぜあなたは 'HttpServletRequest'で' toString() 'を呼び出していますか?それは私にとっては悪い考えです。 (また、 "UTF-8エンコード"は "URLエンコード"と同じではありません)。これはデータベース側とは関係がないようです。私はあなたが既にそこに '%2F'を持っているのを見つけるだろうと思う。 –
@JonSkeet要求がHttpServletRequestオブジェクトであり、URLの一部のみが必要なため、toString()を呼び出しています – Fab