我有一张Primefaces表格。 xml文件的标题如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
发送表单时,我用
HttpServletRequest
取值:public String handleRequest(HttpServletRequest request) {
String shortname = request.getParameter("shortname");
(...)
现在,当
shortname
包含一个umlaute,例如ü时,该umlaute将被保存为UTF-8编码。所以我的ü被保存为¼。如何重新解码?所有的教程都使用字节数组,但是我没有一个。
我在电子邮件中需要此变量,但对于某些象形文字来说,它看起来并不好。
最佳答案
您需要告诉HttpServletRequest
实例它在UTF-8中:
public String handleRequest(HttpServletRequest request) {
try {
request.setCharacterEncoding("UTF-8");
String shortname = request.getParameter("shortname");
(...)
}
catch (UnsupportedEncodingException e) {
// ...
}
}