【问题标题】:wrong Encoding during http request parsinghttp请求解析期间的错误编码
【发布时间】:2012-11-19 05:40:25
【问题描述】:

我尝试通过以下方式从 http 表单提交一些信息:

<form method="GET" action="/springhibernate/notes/addComment"> <textarea rows="10" cols="30" name="content" placeholder="type comment here"></textarea> <input type="hidden" name="note.id" value=<c:out value="${note.id}"/>/> <input type="submit" class="button" value="send comment"/> </form>

Spring 框架将此提交请求映射到控制器

@RequestMapping(value = "notes/addComment", method = RequestMethod.GET)
public String addComment(@RequestParam("content") String content, @RequestParam("note.id") String parent_id, ModelMap model) throws UnsupportedEncodingException {
    Long note_id = notesService.addComment(content, Long.valueOf(parent_id));
    return "redirect:viewNote/" + parent_id;
}

结果我在内容变量中有:?°?±???????µ。

问题仅出现在非拉丁字符上。

JSP 页面包含:

【问题讨论】:

  • 对于哪个参数你得到那个垃圾值?
  • 字符编码是 servlet 应用程序中的噩梦。我建议您从 tomcat 文档中阅读此页面,该文档解释了许多与所有 java web 容器相关的怪癖:wiki.apache.org/tomcat/FAQ/CharacterEncoding
  • Bhavik Ambani, @RequestParam("content") 字符串内容 = ?°?±???????µ
  • 几个小时前我遇到了类似的问题。请看一下[这里][1]。 [1]:stackoverflow.com/questions/13429112/…

标签: java spring encoding


【解决方案1】:

几个小时前我遇到了类似的问题。请看here。我在问题的末尾发布了我的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 2019-11-13
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    相关资源
    最近更新 更多