我想在Oracle DB表中执行INSERT操作。
我想插入的示例字符串是HTTP请求:
a=5&b=hello&date=2016/12/31
此字符串存储如下:
a=5&b=hello&date=2016%2F12%2F31
即使用URL编码字符而不是UTF-8编码字符串。
以前,我的字符串按预期存储为UTF-8格式。 所以,我能够使用
检索和处理它string.split('/')
问题是什么?在我的开发环境中可以改变什么? 这是DBMS方面的问题吗?
由于
编辑:
public static String func(HttpServletRequest request) {
String date = request.getParameter("date");
date.split("/"); IT WORKS!!!
}
public static String func(String url_stored_into_DB) {
String date = getDateFromUrl(url_stored_into_DB);
date.split("/"); IT DOESN'T WORK!!!
since it was stored with %2F
}
将网址存储到数据库中:
//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();
答案 0 :(得分:4)
您尝试拆分不包含' /'的文字字符串。使用' /'的字符字符。当然它不起作用。为什么我说你的字符串不包含' /'字符? 因为它是URL编码的。 URL编码的目的是确保字符串不包含在URL中有意义的各种字符。
您需要先对其进行URL解码。这样的事情可以解决问题。
PK!bîh^[Content_Types].xml ¢(