このテーマに関してStackOverFlowにはたくさんの質問があります。
- TomcatのURIでの文字エンコーディングの処理
- Javaでrequest.getParameter()を使用すると文字が破損するのはなぜですか?
- Javaサーブレットでrequest.getParameter()が正しく文字エンコードを表示しない
- tomcatの文字エンコード問題
この問題に関するTomcat Wikiのリンクもあります。 http://wiki.apache.org/tomcat/FAQ/CharacterEncoding
だから私は私の質問のどのタイトルを書くべきかわからなかった。たぶんあなたはこの二つを手伝ってくれるだろう。
私が思い付いた問題:キリル文字を含むテキストがリクエストから来るとき、私は以下のリクエストパラメータ値を得ます。 to ÐÐ¸Ð·Ð½ÐµÑ Ð¸ ÑинанÑÑ
.
だから私は今のところ持っているもの:
- すべて
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">
- Eclipseの場合 - >好ましい - >一般 - >ワークスペース - >テキストファイルのエンコーディングはutf-8に設定
データベースのエンコードは次のように設定されています。
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
に
apache-tomcat-7.0.57conf
フォルダserver.xmlのコネクタの1つが次のように変更されました。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443"
URIEncoding="utf-8"/>
で符号化フィルタを作成する
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
。 そして、次のようなファイルが彼の中にあります。
catalina.policy
catalina.properties
context.xml
web.xml
tomcat-users.xml
そしてserver.xml
そのため、Tomcatにはすでにファイルが事前に設定されていて、自分で編集したファイルがおかしいだけなのです。 server.xml
に apache-tomcat-7.0.57conf
フォルダは、このプロジェクトにあるものとは異なります。
質問の最初にこの問題にいくつかの回答をリンクしました。そして私の投稿の最後に私が最近見つけたものを共有したいのですが、それがこの問題の最良の手引きとして私には思えます: Java Webアプリケーションでutf-8を動作させる方法