2013-02-02 64 views
0

我在数据库中存储了一些法语内容,但它转换为?法国字符没有以正确的格式显示

字符串: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页面,并以小服务程序为好。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 

和在小服务程序

response.setCharacterEncoding("utf-8"); 

我还试图与解码字符串

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); 

,但仍出现在上面的内容串问号设置它的

return (string != null) ? new String(string.getBytes(UTF8_CHARSET)) : null; 

代码。很感谢任何形式的帮助。

+0

UTF-8不支持这些字符。你需要使用UTF-16。 – antonijn

+1

@Antonijn:你错了。 UTF-8支持法语字符集。 – home

+0

据我所知,法文字符不是问题,它只是撇号''',对吗? – home

回答

0

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

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

我已经将这些设置为响应。 –

+0

ohhhh好的,让我试试,对不起理解的小姐抱歉。 –

+0

我曾试过,但仍然是问号。 –