法语字符没有以适当的格式显示

时间:2013-02-02 18:50:28

标签: 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="UTF-8"%>

和servlet

response.setCharacterEncoding("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);

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

1 个答案:

答案 0 :(得分:0)

问题是您在未编码的URL中发送参数。要编码它使用 URLEncoder.encode(content, "UTF-8");。您可以在JSP中将其解码为

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