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;

そしてそれをエンコードします。

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

JSPから取得してサーブレットに設定するコード

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

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

ただし、上記のコンテンツ文字列には疑問符が表示されます。どんな助けでも大歓迎です。

4

1 に答える 1

0

問題は、エンコードされていないURLでパラメータを送信することです。エンコードするには、を使用します URLEncoder.encode(content, "UTF-8");。JSPで次のようにデコードできます

  <%
    out.println(java.net.URLDecoder.decode(((String[])request.getParameterMap().get("inputFr"))[0], "UTF-8"));
  %>
于 2013-02-02T19:02:11.147 に答える