JSP ページでの UTF-8 エンコーディング [重複] 質問する

JSP ページでの UTF-8 エンコーディング [重複] 質問する

JSPページのエンコーディングが のページがありますISO-8859-1。この JSP ページは質問回答ブログにあります。Q/A 投稿時に特殊文字を含めたいです。

問題は、からUTF-8に変更しても JSP がエンコードをサポートしていないことです。これらの文字 ( 、、、)が問題を引き起こしています。これらの文字を個別に、または任意の文字の組み合わせで投稿すると、データベースに保存され、アプリケーションの投稿中にこれらの文字を削除すると正常に動作します。ISO-8859-1UTF-8~%&+null

誰か解決策を提案してもらえますか?

ベストアンサー1

あなたは同じエンコーディングの上すべてのレイヤーこの問題を回避するには、アプリケーションにフィルターエンコーディングを設定するには:

public void doFilter(ServletRequest request,
                     ServletResponse response,
                     FilterChain chain) throws ServletException {
   request.setCharacterEncoding("UTF-8");
   chain.doFilter(request, response);
}

JSP ページのエンコードのみを設定するには、次の行を追加します。

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

同じ文字エンコーディングを使用するようにデータベースを構成します。

文字列のエンコーディングを変換する必要がある場合は、以下を参照してください。

HTML エンコードされたテキストをデータベースに保存することはお勧めしません。たとえば、PDF (または HTML 以外のもの) を生成する必要がある場合は、まず HTML エンコードを変換する必要があります。

おすすめ記事