Java 法语字符的显示格式不正确

Java 法语字符的显示格式不正确,java,jsp,servlets,character-encoding,Java,Jsp,Servlets,Character Encoding,我正在数据库中存储一些法语内容,但它已转换为? 字符串:médiévaux,principalement pour l'anglais et le français,转换为médiévaux,principalement pour l'anglais et le français 我已经将utf-8编码应用于jsp页面以及servlet <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding=

我正在数据库中存储一些法语内容,但它已转换为

字符串:
médiévaux,principalement pour l'anglais et le français
,转换为
médiévaux,principalement pour l'anglais et le français

我已经将utf-8编码应用于jsp页面以及servlet

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
我还尝试了解码字符串

return (string != null) ? new String(string.getBytes(), UTF8_CHARSET) : null;
然后对它进行编码

return (string != null) ? new String(string.getBytes(UTF8_CHARSET)) : null;
从JSP获取并在servlet中设置的代码

response.setCharacterEncoding("utf-8");
String content = request.getParameter("inputFr");
        if(content == null){
            throw new Exception("exception");
        }

        content = new String(string.getBytes(), UTF8_CHARSET);

但上面的内容字符串中仍然出现问号。非常感谢您的帮助。

问题是您在URL中发送的参数没有编码。要对其进行编码,请使用
urlcoder.encode(内容为“UTF-8”)。您可以在JSP中将其解码为

  <%
    out.println(java.net.URLDecoder.decode(((String[])request.getParameterMap().get("inputFr"))[0], "UTF-8"));
  %>


UTF-8不支持这些字符。你需要使用UTF-16。@Antonijn:你错了。UTF-8支持法语字符集。据我所知,法语字符不是问题,只是撇号
,对吗?我将法语文本设置为字符串并简单保存。但是当我检查那根绳子的时候,它里面有黑钻石吗?实际上,当我的jsp向servlet发送变量时,它包含法语文本。我在servlet中以“String content=request.getParameter(“inputFr”);”的形式得到它,所以在servlet部分,这一切都在发生,在所有这些过程之前,我正在进行正确的编码。OHHHHH好的,让我试试,对不起,我没有理解。这个答案是胡说八道。来自
getParameterXxx()
方法的请求参数已被URL解码。另见javadoc。只有
getQueryString()
未对URL进行解码。@BALUC对我的问题有任何答案吗?
  <%
    out.println(java.net.URLDecoder.decode(((String[])request.getParameterMap().get("inputFr"))[0], "UTF-8"));
  %>