/ / Tomcatエンコーディングの問題 - java、jsp、tomcat、エンコーディング

Tomcatエンコーディングの問題 - java、jsp、tomcat、encoding

このテーマに関してStackOverFlowにはたくさんの質問があります。

  1. TomcatのURIでの文字エンコーディングの処理
  2. Javaでrequest.getParameter()を使用すると文字が破損するのはなぜですか?
  3. Javaサーブレットでrequest.getParameter()が正しく文字エンコードを表示しない
  4. tomcatの文字エンコード問題

この問題に関するTomcat Wikiのリンクもあります。 http://wiki.apache.org/tomcat/FAQ/CharacterEncoding

だから私は私の質問のどのタイトルを書くべきかわからなかった。たぶんあなたはこの二つを手伝ってくれるだろう。

私が思い付いた問題:キリル文字を含むテキストがリクエストから来るとき、私は以下のリクエストパラメータ値を得ます。 to ÐÐ¸Ð·Ð½ÐµÑ Ð¸ ÑинанÑÑ.

だから私は今のところ持っているもの:

  1. すべて jsp ファイルは次のようにutf-8でエンコードされています。
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  1. Eclipseの場合 - >好ましい - >一般 - >ワークスペース - >テキストファイルのエンコーディングはutf-8に設定
  2. データベースのエンコードは次のように設定されています。 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;

  3. apache-tomcat-7.0.57conf フォルダserver.xmlのコネクタの1つが次のように変更されました。

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"/>

  1. で符号化フィルタを作成する doFilter 方法:

    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    HttpServletRequest httpRequest = (HttpServletRequest)request;
    String requestEncoding = request.getCharacterEncoding();
    if (requestEncoding == null) {
    request.setCharacterEncoding(encoding);
    }
    chain.doFilter(request, response);
    }
    

から読むとき jsp 私は ""また、以下のようなさまざまな方法でパラメータを取得しようとしました。

 <a href="<c:url value="controller?command=viewFaculty">
<c:param name="name" value="${faculty.name}"/> </c:url>">${faculty.name}</a>

または

<a href="<c:url value="controller?command=viewFaculty"> <c:param name="name" value="${faculty.name}"/>

そして、私はまだこの醜い性格を得ます。何かアドバイスがありましたら教えてください。

回答:

回答№1は0

私は自分の問題を解決しました。問題は私がオリジナルではなく編集したということでした server.xml。私は「気づいた」 tomcat Eclipseプロジェクトエクスプローラに、というプロジェクトへのブックマークとして登場しました。 Servers。 そして、次のようなファイルが彼の中にあります。

  1. catalina.policy
  2. catalina.properties
  3. context.xml
  4. web.xml
  5. tomcat-users.xml そして
  6. server.xml

そのため、Tomcatにはすでにファイルが事前に設定されていて、自分で編集したファイルがおかしいだけなのです。 server.xmlapache-tomcat-7.0.57conf フォルダは、このプロジェクトにあるものとは異なります。

質問の最初にこの問題にいくつかの回答をリンクしました。そして私の投稿の最後に私が最近見つけたものを共有したいのですが、それがこの問題の最良の手引きとして私には思えます: Java Webアプリケーションでutf-8を動作させる方法