2013-02-02 101 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

我曾試過,但仍然是問號。 –