我使用Eclipse和Glassfish从jsp / servlet中获取了无效字符。
如果输入“Pêche”,我将得到“Pêches”。因此,这是编码问题。我尝试了几种想法,但没有任何效果。
<parameter-encoding default-charset="UTF-8"/>
我仍然得到Mojibake。
这是我的servlet代码:
String name = (String) request.getParameter("templateName");
这是我的jsp内容:
<%@ page pageEncoding="UTF-8"%> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>....</title> </head> <body> <form action="<c:url value="/form/edit" />" method="post" enctype="multipart/form-data"> <input type="text" id="templateName" name="templateName" /> <br /> <input type="submit" value="Valider" class="button button_blue margin_button_form"/> </form> </body> </html>
还有其他建议吗?
最后,这似乎是Glassfish的错误:https://java.net/jira/browse/GLASSFISH-18516
彻底解决了这个问题:new String (s.getBytes ("iso-8859-1"),"UTF-8");
new String (s.getBytes ("iso-8859-1"),"UTF-8");